<SEC-DOCUMENT>0000924168-23-000059.txt : 20230511
<SEC-HEADER>0000924168-23-000059.hdr.sgml : 20230511
<ACCEPTANCE-DATETIME>20230511083329
ACCESSION NUMBER:		0000924168-23-000059
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		78
CONFORMED PERIOD OF REPORT:	20230331
FILED AS OF DATE:		20230511
DATE AS OF CHANGE:		20230511

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			ENERGY FOCUS, INC/DE
		CENTRAL INDEX KEY:			0000924168
		STANDARD INDUSTRIAL CLASSIFICATION:	ELECTRIC LIGHTING & WIRING EQUIPMENT [3640]
		IRS NUMBER:				943021850
		STATE OF INCORPORATION:			OH
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		32000 AURORA ROAD
		STREET 2:		SUITE B
		CITY:			SOLON
		STATE:			OH
		ZIP:			44139
		BUSINESS PHONE:		4407151300

	MAIL ADDRESS:	
		STREET 1:		32000 AURORA ROAD
		STREET 2:		SUITE B
		CITY:			SOLON
		STATE:			OH
		ZIP:			44139

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	FIBERSTARS INC /CA/
		DATE OF NAME CHANGE:	19940527
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>efoi-20230331.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version="1.0" ?><!--XBRL Document Created with Wdesk from Workiva--><!--Copyright 2023 Workiva--><!--r:de1bd638-ffb7-47e5-8942-3bd62ebf833a,g:0768392e-8f6d-4653-8602-524040c13358,d:137ef4de63f24bc79d9040dc6b8448eb--><html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:srt="http://fasb.org/srt/2022" xmlns:efoi="http://www.energyfocusinc.com/20230331" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns="http://www.w3.org/1999/xhtml" xmlns:xbrli="http://www.xbrl.org/2003/instance" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>efoi-20230331</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:EntityCentralIndexKey" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80L2ZyYWc6ZDY0ZTAwODRhMTBiNGZjMWExNTM4OTVjNjg2MTVjZDEvdGFibGU6Zjk4ZmMyNGM1ZjNhNDk5NjkyYzllZWVmZWY4ZjhlODIvdGFibGVyYW5nZTpmOThmYzI0YzVmM2E0OTk2OTJjOWVlZWZlZjhmOGU4Ml80LTEtMS0xLTEwNTk5NA_81334c2e-21bf-4d7b-8393-0fba740c8a70">0000924168</ix:nonNumeric><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:CurrentFiscalYearEndDate" format="ixt:date-month-day" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80L2ZyYWc6ZDY0ZTAwODRhMTBiNGZjMWExNTM4OTVjNjg2MTVjZDEvdGFibGU6Zjk4ZmMyNGM1ZjNhNDk5NjkyYzllZWVmZWY4ZjhlODIvdGFibGVyYW5nZTpmOThmYzI0YzVmM2E0OTk2OTJjOWVlZWZlZjhmOGU4Ml81LTEtMS0xLTEwNTk5NA_c422a24a-1b8f-48a1-848c-e5405291599f">12/31</ix:nonNumeric><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:DocumentFiscalYearFocus" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80L2ZyYWc6ZDY0ZTAwODRhMTBiNGZjMWExNTM4OTVjNjg2MTVjZDEvdGFibGU6Zjk4ZmMyNGM1ZjNhNDk5NjkyYzllZWVmZWY4ZjhlODIvdGFibGVyYW5nZTpmOThmYzI0YzVmM2E0OTk2OTJjOWVlZWZlZjhmOGU4Ml8xMy0xLTEtMS0xMDU5OTQ_ff0ba801-9b0e-4db3-be43-dcbd1e57b474">2023</ix:nonNumeric><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:DocumentFiscalPeriodFocus" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80L2ZyYWc6ZDY0ZTAwODRhMTBiNGZjMWExNTM4OTVjNjg2MTVjZDEvdGFibGU6Zjk4ZmMyNGM1ZjNhNDk5NjkyYzllZWVmZWY4ZjhlODIvdGFibGVyYW5nZTpmOThmYzI0YzVmM2E0OTk2OTJjOWVlZWZlZjhmOGU4Ml8xNC0xLTEtMS0xMDU5OTQ_e726dafb-ab9d-4b1a-8a38-6c9e64baad38">Q1</ix:nonNumeric><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:AmendmentFlag" format="ixt:fixed-false" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80L2ZyYWc6ZDY0ZTAwODRhMTBiNGZjMWExNTM4OTVjNjg2MTVjZDEvdGFibGU6Zjk4ZmMyNGM1ZjNhNDk5NjkyYzllZWVmZWY4ZjhlODIvdGFibGVyYW5nZTpmOThmYzI0YzVmM2E0OTk2OTJjOWVlZWZlZjhmOGU4Ml8xNS0xLTEtMS0xMDU5OTQ_3f3a7372-927a-4e57-8742-c0a801b18376">FALSE</ix:nonNumeric><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:EntityRegistrantName" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80L2ZyYWc6ZDY0ZTAwODRhMTBiNGZjMWExNTM4OTVjNjg2MTVjZDEvdGV4dHJlZ2lvbjpkNjRlMDA4NGExMGI0ZmMxYTE1Mzg5NWM2ODYxNWNkMV8zMQ_0ac60614-570b-45b1-a626-618579a30974">ENERGY FOCUS, INC/DE</ix:nonNumeric><ix:nonNumeric contextRef="if7e4573e94e04bfe8d334617676c042e_D20220101-20221231" name="us-gaap:AccountingStandardsUpdateExtensibleList" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTItMC0xLTEtMTIzNDI4_f691fd30-036e-44fd-ac7f-7799a74f36e1">http://fasb.org/us-gaap/2022#AccountingStandardsUpdate201613Member</ix:nonNumeric><ix:nonNumeric contextRef="ib8dea66f5cf14ff4aa59d0d749fca4d0_D20230101-20230331" name="efoi:StandardProductWarrantyNumberofYears" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAxNg_16e1c2b7-1b11-4993-a4ef-f853eb7486b6">P5Y</ix:nonNumeric><ix:nonNumeric contextRef="i3f10e6324d1e49c0a03305664b51b5cd_D20230101-20230331" name="efoi:StandardProductWarrantyNumberofYears" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAxNg_5f339c5e-7af8-42cc-a026-46659e81cb9d">P5Y</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="efoi-20230331.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3e6f62a8ec0848d3b620c06d01d14575_I20230509"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-05-09</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:context id="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usd"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:context id="i057c62fbb4734a08944a41767816a2cd_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usdPerShare"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:context id="i5e5ab62779694ba6926de90a1d2e0626_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3c8eada87c5e44ea817059a51cc69a5e_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i98081df676ec427e979799294744af39_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9a7d1794a8104661add5e63b5c25fdba_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i86b320633b8748dc85a9f088e696b620_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4706e2749453474f96b0f826c02bfff2_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if277bf1acdad484097554eff824cecce_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibed7bbd35e4d4af19a3ebaa34015a605_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia01de0e6925348a6b9aa1ff401e983fb_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i39baef1b652d45b5bbb73cee230fd1b3_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if7e4573e94e04bfe8d334617676c042e_D20220101-20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i332087598fc94b48b75fa88d7e970e04_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie9e52c1c012145bc88ceb201078bc021_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i79abf764b10649c79bfbc657c61a378f_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5d6b6b1ab0d3414b98b494f103de997a_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3b7929a1a0cc4899a09a752d8c4797b5_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4f08e72e51384ba0bf2c79a56122cd78_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibc3dff37f7264873822a9f182d2fdc74_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i602c31992dc94abbac78f92fe9a8b733_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4eba2aa2e4a24070b5b0760556ca79ff_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i342384a9b8414f62ba8abbd02dd973c2_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id7901ceeb87c4c8ca66d7c2df401ff8e_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i83811faacbc549d98bb80d2341326cbc_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i635a8ef9501848789b80c3f87ba8b243_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9d29fd435d4542aa8f23d9515714b4a6_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i556b1c8cb1cd47a1b87164f45d21cda2_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iceb86460e9e4433eb3750bfe1f3af88e_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1195bc7655cb48ebb4f1b611e02f65b3_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iaab8650287eb45c28e38cc25ece6e62c_I20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i12c0c720e2fc4cebb08ef4088d810276_I20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic35168a23f0d42abbca5fc2abcd4f602_I20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i15719debed6d4560b8e0f721b24395c9_I20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i80ae409e01fb4b42ab86cd747db4c14c_I20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i466b5761fcc746f6b9e105f3ee815891_I20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5a1e274029f04a2bb6408c3142d77ad7_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2022StreetervilleNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1fb5e0ea729549988c25ee5f1b2a28a3_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2022StreetervilleNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id87a1212102e49a0b20b08c6c1d7c45a_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2021StreetervilleNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iaf725f30e0884d85b2a81b9eb941f3b7_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2021StreetervilleNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifec2d4649e0640a483b9734304544c22_I20220823"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-08-23</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="d"><xbrli:measure>utr:D</xbrli:measure></xbrli:unit><xbrli:context id="ib4c936dd58804d9eb7cae4c8085386ab_I20221116"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-11-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i55ef4398e21f4f6dbfd5e88b0cae0545_I20220930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibe30b06375714179a1b95677450c759e_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:CommercialProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i94e82c1ff6b8490dbbdcca8eebcda244_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:CommercialProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i499a295ec2a245e2a185ccf3c2025c30_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:MMMProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7370aef696994b87a86ab293a9fdbb9b_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:MMMProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib64ba521b5ce47a8a7f8e9f2f474c4b2_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9c11afc15b924445b0c0fef98f329885_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:context id="i5ed882c6d1f749b38fb083fbe6841fe2_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id264de05f365449d9f7a9f3df99e34f3_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibc1ea603e2574aa0af909464e538343c_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:WarrantMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i66ce3809cdd748ea8963b144b7adce1d_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib8dea66f5cf14ff4aa59d0d749fca4d0_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:CommercialProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3f10e6324d1e49c0a03305664b51b5cd_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:MMMLEDProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iabb8d8bbb108485e83e87af3006c33cc_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:CommercialProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4aeeb86dd6994242bc366752d38a3e04_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:MMMLEDProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i39533d5a86274d87aa89cc005a86befc_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheU.S.NavyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id7d941fcb5454139b313fdac8d88b7be_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:ShipbuilderForUSNavyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia3d9865baf0a4b769020a2aad7da602f_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheUSDepartmentOfDefenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="icc1ccca233c64be9a50b97b050b34491_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:TopMilitaryCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i258f02ddd14c41c4b837ac28fa3fe00e_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheU.S.NavyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i70e02c73234b4f81923806790a5014e4_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:ShipbuilderForUSNavyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i249fc231ec704ffaad85618a8bbb5fb7_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:CommercialBuildingSystemsProviderMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia7aec294cb2242e990cb4d96cb83dca2_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8f10f3c585784b5a820d34645788da0e_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheU.S.NavyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i23ef6450019c468d8113a55a16e6dd29_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:ShipbuilderForUSNavyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie37aea4688a4484a8f6d1364a87affe2_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheUSDepartmentOfDefenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3c66925453f84f9aa582618cc0a3cfd3_D20220101-20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheUSDepartmentOfDefenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia59ea0b777e948d5adc15aa6b596a3df_D20220101-20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:ShipbuilderForUSNavyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iaf48b7ed34e94c57a617794e4f353860_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:OffshoreSupplierMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">efoi:TotalExpendituresMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i63714b15234c43c1a759b4fff0f51c95_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:OffshoreSupplierMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">efoi:TotalExpendituresMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id53c2d2340f545309dcc3789853755fc_D20220101-20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:OffshoreSupplierMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsPayableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i29e048e5bfd14d4f93beab25eb89037c_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:OffshoreSupplierMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsPayableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iceffaa71abeb460796ab758ddc865e98_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie9e61096539d4cf2be2ad4b561242d2e_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib49f05a3b2cb4c41b2de428dc836bd6d_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7d19e2e344e2469fa6992944d15d32e3_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i61de5a6f45cc489ca263c1d6d42dc732_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:ToolingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i23cc924ee69b442595563d20b7cda2eb_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:ToolingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0bc136c70b924f38a45cb74ca3a3fb90_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:ToolingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i048bc115a9004fabafd8e56fefaa435e_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:ToolingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i18f4f4ba167b46349c55e90e3ad996f1_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie338435ef0114aa79de9ef679ecd95bc_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idad41e308b924225b8004097bbd85c14_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:RealEstateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7d59226ea92a47fe94617330f9077152_I20200811"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-08-11</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="creditfacility"><xbrli:measure>efoi:creditFacility</xbrli:measure></xbrli:unit><xbrli:context id="i87fd110b250342b5a0ca26882df52101_I20200811"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-08-11</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic76872a63a204c61b8d0a1b59f160362_I20210420"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-04-20</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie09a080a2f994403a9296b83e8cd3cc6_D20230120-20230120"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-20</xbrli:startDate><xbrli:endDate>2023-01-20</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0a09ab1905c0402f85b0f70315110be9_D20230215-20230215"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-15</xbrli:startDate><xbrli:endDate>2023-02-15</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if0af9abe1f1b41199916803eee433b87_D20230120-20230215"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-20</xbrli:startDate><xbrli:endDate>2023-02-15</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2214000f620a46028af77f006b1c600f_I20230117"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-17</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5b393d3ef8e446888aa34122e67c058a_I20230118"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-18</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if38256cd7d8d439da68d0f81a2089297_I20230118"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-18</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9baf512275464ae68a8b12856ad35e4d_D20230118-20230118"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-18</xbrli:startDate><xbrli:endDate>2023-01-18</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7d12fde494e1457aa50b1d34b828319f_I20230118"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-18</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iaa20b630c02241b9a5a2d0122694ab6f_D20230118-20230118"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-18</xbrli:startDate><xbrli:endDate>2023-01-18</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9c51e2968e164b0f9df0a55e449341cc_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idd8402ce6a974b588caf75db373d50a9_I20200811"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:ReceivablesFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-08-11</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i72e1cf94b4064f4ebe75214b3ce623d2_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i91c6f338912b435784ccfbddf48168b4_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i41e2d0e3e506434fbaa71e7de008b1f5_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:ReceivablesFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7bc73bc5fdb643f5b43333fa3eecd534_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:A2022PromissoryNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9090aa53235a4f8281ae161f7e5aa961_D20220101-20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:GHuangDirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1e4ab845c62943cba0ef361c872ab5e1_D20220101-20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:JHuangDirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1481182b5bcd495fb59655fe25d7a32c_D20220101-20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:JHuangDirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredThreeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia88ab878c60f49778cf704689ad9e111_D20220101-20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredFourMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:GHuangDirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia328fe650bf644c1a9b01c5ed0bc439b_D20220101-20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredFiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:JHuangDirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib63e0653a6d549d8b489d631a56502c0_D20220101-20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:JHuangDirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredSixMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9a89fbb099a44251804f9fd2862b9c03_D20220101-20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredSevenMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:TLinDirectorsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib2b69b2bccb249c9bf3d6a207f9bfcf2_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:GHuangDirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="icd3aa5e028ee47d8a27e9aea53cf2352_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:JHuangDirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia7963026ee6b48c5a9e5db6d78b8289e_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:JHuangDirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredThreeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if6c6687e1b5a48b896939972954ca938_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredFourMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:GHuangDirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0660f7e1b92c47699732e94004e61e52_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredFiveMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:JHuangDirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i625e31a0a6624d52ab56d78f040da09d_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:JHuangDirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredSixMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i14134504c0f447e8914d00b8e85a0fa6_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredSevenMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:TLinDirectorsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i46cc008f0e0d4256807d2a588788ec76_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i294b6d4aeb7a457f9775ade51ca5e3a2_D20220101-20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i258c463f8d6b45d3b99ab179cf1800e5_I20220421"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2022StreetervilleNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-04-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id085ec620a324208b05e91d2f5488a8f_D20220421-20220421"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2022StreetervilleNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-21</xbrli:startDate><xbrli:endDate>2022-04-21</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i718240b797de4b81a0f52acd7f06e10e_I20230120"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2022StreetervilleNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-20</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifb4f7d5a9229487589f814638a6bf0f5_I20230714"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2022StreetervilleNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-07-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idae42697aa534d7d9d9c78d80fca3f2c_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2022StreetervilleNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7ad51a88357949ddac6065a0c7bc949d_I20240101"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2022StreetervilleNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-01-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6cf66b2f7157468c9efc024e67abb9a4_I20230714"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:March2023PartitionedNoteMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-07-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i74ca160018094ae1b4880fd12a912840_D20230331-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:March2023PartitionedNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-03-31</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i47a06ebba8df4bc19d22f16443a7d6b9_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:March2023PartitionedNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if26d58668d5c4538a01fdb9128348bc4_I20241201"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:March2023PartitionedNoteMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id347fd24602b438aa1c0ac207d8a7ded_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:StreetervilleNotePurchaseAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3f95fa86258c4d7eaaf439b980b73442_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:StreetervilleNotePurchaseAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2d56a47fadc4494ba21b3ffd38eb37bd_I20210427"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2021StreetervilleNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-04-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i170a8d67ff0340198a2cbb66b5887c1e_D20210427-20210427"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2021StreetervilleNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-27</xbrli:startDate><xbrli:endDate>2021-04-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="deferral"><xbrli:measure>efoi:deferral</xbrli:measure></xbrli:unit><xbrli:context id="i49de9cda51534bd38c86fd46aa5a79a5_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2021StreetervilleNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i298476856ec34f0fa7944b1a381d7ecb_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2021StreetervilleNoteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9cda1dfa61d34114bc79f5cf7d4436b3_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4e65ace7fbb1415f99e5a2fa5e31d1b4_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9c60bcb6f9204487abe1389cf0b906f3_D20230328-20230328"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:March2023PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-03-28</xbrli:startDate><xbrli:endDate>2023-03-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7027c559cc3f49338bee54f4a4847204_I20230328"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:March2023PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib5c22671d2d54df7960676b0e3169188_D20230330-20230330"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:March2023PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-03-30</xbrli:startDate><xbrli:endDate>2023-03-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifd269d1cfda943c8ae919496a2d5ef67_I20230330"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:March2023PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i291460a436e74a8890d1eb5273d6099b_D20230301-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:March2023PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-03-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id9865a7bc8704943b0939a50784649a2_D20230224-20230224"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:February2023PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-24</xbrli:startDate><xbrli:endDate>2023-02-24</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8ef04b71592a400d908db421090dd9ce_I20230224"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:February2023PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-02-24</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6bf9ed1c24de4a6693287e8c35e9a8d4_D20230117-20230117"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023SanderElectronicsPrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-17</xbrli:startDate><xbrli:endDate>2023-01-17</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1976d998f5364ca4b597c24061942a31_I20230117"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023SanderElectronicsPrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-17</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i11ba3f0a339e4defa9dcf9d51423839b_I20230117"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:BridgeLoanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023SanderElectronicsPrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-17</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7561d7d2fabb42c3825cffe8d28091c7_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023SanderElectronicsPrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1c69db5fe96c427d8cfee54829689680_D20230105-20230105"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023TransactionsWithMeiYunGinaHuangMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-05</xbrli:startDate><xbrli:endDate>2023-01-05</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic350bac6fc4d4c42b2cb49046bbba055_I20230105"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023TransactionsWithMeiYunGinaHuangMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if27559900ba14605aa5b017a92c425d5_D20230110-20230110"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023TransactionsWithMeiYunGinaHuangMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-10</xbrli:startDate><xbrli:endDate>2023-01-10</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i28c47b0aabd34a3983363e49aef3fe35_I20230110"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023TransactionsWithMeiYunGinaHuangMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-10</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib620521ca9b04958baba9c5cb5835fd8_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023TransactionsWithMeiYunGinaHuangMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i22dac5734a23420daa88677f1e86cffb_D20230117-20230117"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023TransactionsWithMeiYunGinaHuangMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-17</xbrli:startDate><xbrli:endDate>2023-01-17</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibd7c40c732534005aecb39edffb318e1_I20230117"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023TransactionsWithMeiYunGinaHuangMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-01-17</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0bf245a9398c45ab9aba5d709a637fba_D20220601-20220630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:June2022PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7cc420d30737483fa70487c04fb1e454_I20220630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:June2022PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6668546623db4539a1a0c44cb5d2a5f6_I20220630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:June2022PrivatePlacementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">efoi:PreFundedWarrantsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic55e4555f8744a3b967ad970b478a329_I20220630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:June2022PrivatePlacementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">us-gaap:WarrantMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i496d4240f2c04e9e830137e11845cd80_D20220101-20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:June2022PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7aab7607ff8d425bbe2d816b84f72323_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:June2022PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i644d63cb81c64c69a207f69a4088a6ed_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:June2022PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i69885f7bf8744a93a44bc87c138ac3b1_D20211201-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i12dea23a546e4b08b0ba38de5742b60a_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib620e4eb1b0a4daeaaba69a3bbe3b84e_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">efoi:PreFundedWarrantsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ieae979ec2cf94da093b3272417381bcd_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">us-gaap:WarrantMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i074f11f03e774242b1ecb598bd4cea7f_D20211216-20211216"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">efoi:PreFundedWarrantsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-16</xbrli:startDate><xbrli:endDate>2021-12-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idd12a3606e1349c4b2047634fc7ede76_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1f8e23f1e58546ce941c30d8eb491023_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i12927e9338144a7eb412104e8c6ace1a_D20190329-20190329"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-03-29</xbrli:startDate><xbrli:endDate>2019-03-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie63a2681dbee426b840138c1c3f1c9d7_I20190630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie144f28839aa444d922bb66c92486a03_I20190701"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-07-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i601e3044a28047b98b3e2a30d9c29e43_D20200116-20200116"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-16</xbrli:startDate><xbrli:endDate>2020-01-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i35b137a8f2404f898c2e3b2ad1314945_I20200116"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-01-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia50ca055e69a4b99bf1a4547a63d79d5_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0261bef7689546bb92cca9989ac1ee5f_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie785e1b01ce144978c696c964d3f74b1_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5b71515002e541fba61b2b939bd235f4_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib1428b5108e841cf9d83692503d4b513_I20190329"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic491b39a305d42b5af19a65aec7b34b1_I20200115"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-01-15</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1d9aeb6fd9ca45dfbc7f484c850f3d8f_I20200115"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-01-15</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifbb95b0452954896a5a02ad5df96371e_D20200116-20200116"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-16</xbrli:startDate><xbrli:endDate>2020-01-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if71e51af4c6343f8a9dbdd3e76dc5c64_D20200101-20200131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020InstitutionalInvestorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifb08d9a40cab4e0eab82621d0ad95c8a_I20200131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020InstitutionalInvestorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ife8e2ca953054aeaba994b6e6be18d10_I20200131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:InstitutionalInvestorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibba592b486134badbe15078e7e18f53a_I20200131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020WarrantsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3c1bc63ce1f040569c6d64a5cf208f9b_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i94855a7a54934b0da586d3b674eb0722_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i794af841c00e46529844c235b8236cf0_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7411641aa95f4029850044a4e3ad38d6_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020InstitutionalInvestorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2858fe93457e47db8bb1de5daf816c95_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020InstitutionalInvestorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i45fa612b43eb4bd486c6e3a20bd74bfe_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020InstitutionalInvestorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2dac718f7ea8418e8d1ad13aceffb769_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingPrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i92f443a8028149b19c6e6ee056d8c7f7_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingPrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i22e1f0a92b7f4cd6b77bc7c30d68fd99_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingPrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2d2127a8f233485ba4347070cedb0568_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i97950f64fa9243a1bccc32d8c2492208_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iee298cab50824f879c844578b9ae01fd_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia840289d38cc4de4b6889e10e57d8f4a_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0b7a3591d13f40498199436a4918bdae_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie7343fdb57a840bdbf54fb0a3f469aef_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0e343c763aa94fb19884a9e71c1b3fde_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie1f2a65bb1ca407292186293e7aad935_I20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1bc9012ae9db4b018ac9f12ca21fe222_I20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8efcd85eb0fd4c459309b1cc67f0c411_D20230101-20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i169854f0bb8447468f02f9d274f02cb6_I20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i067d40fab95745f89a4bec1164793dd3_D20230401-20230630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i256e02b3d9cd45ae90fdf507325d58dc_D20230701-20230930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-07-01</xbrli:startDate><xbrli:endDate>2023-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if52337259ca94ff6adbd8c395875af1f_D20210701-20210930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-01</xbrli:startDate><xbrli:endDate>2021-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6e836d92561341ffb8c493dd07587cee_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_1"></div><div style="min-height:36pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">UNITED STATES</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%">SECURITIES AND EXCHANGE COMMISSION</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Washington, DC 20549</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:18pt;font-weight:700;line-height:120%">Form <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:DocumentType" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGV4dHJlZ2lvbjo3MDMwNzY2NDU1MTg0ODU4YjE2YTdhNGQ2ZDE4MWFmYl8xODU0_8cc9e97f-1acd-42c7-aaf0-914bb3b702f6">10-Q</ix:nonNumeric> </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:4.325%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:93.475%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:DocumentQuarterlyReport" format="ixt:fixed-true" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6YWJkOWY1ZmQzYzkxNDkxM2I2NDAyOTUxYmM3MjYyM2UvdGFibGVyYW5nZTphYmQ5ZjVmZDNjOTE0OTEzYjY0MDI5NTFiYzcyNjIzZV8wLTAtMS0xLTEwNTk5NA_e3939c7b-bac2-42b7-aae7-155a51e6df6d">&#9746;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr></table></div><div style="text-align:center;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">For the quarterly period ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGV4dHJlZ2lvbjo3MDMwNzY2NDU1MTg0ODU4YjE2YTdhNGQ2ZDE4MWFmYl8xMjI_aa666812-b042-4df7-8644-c3c0d6866a63">March&#160;31, 2023</ix:nonNumeric></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#160;</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">OR</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:4.325%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:93.475%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:DocumentTransitionReport" format="ixt:fixed-false" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6MzY4ZWFkODI4MTIxNDM0YTg0ODIwOTI1MWQwNDgxMWUvdGFibGVyYW5nZTozNjhlYWQ4MjgxMjE0MzRhODQ4MjA5MjUxZDA0ODExZV8wLTAtMS0xLTEwNTk5NA_a102e5fa-b2eb-4e92-8551-5a25dc5b6569">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the transition period from</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">_____________</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">to</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">_____________</span></div></td></tr></table></div><div style="text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%">&#160;&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Commission</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">file number <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:EntityFileNumber" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGV4dHJlZ2lvbjo3MDMwNzY2NDU1MTg0ODU4YjE2YTdhNGQ2ZDE4MWFmYl8xODQ4_6e44100b-47fe-4dc9-ab00-b25d8b3bece5">001-36583</ix:nonNumeric> </span></div><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:18pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC. </span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(Exact name of registrant as specified in its charter)&#160;&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:46.993%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:2.565%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:47.142%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl8wLTAtMS0xLTEwNTk5NA_44c09217-e1fa-4159-b8f8-f155546689f2">Delaware</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:EntityTaxIdentificationNumber" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl8wLTItMS0xLTEwNTk5NA_8b1c1984-9dd9-47f3-ab69-528ba96047f1">94-3021850</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(State or other jurisdiction of incorporation or organization)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(I.R.S. Employer Identification No.)</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:EntityAddressAddressLine1" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl8zLTAtMS0xLTEwNTk5NC90ZXh0cmVnaW9uOmVmYzFhOGU5M2FiZDQ5ZjA5MGRlMDBjOThhMDI5NmU2XzQ_c15fae1f-2c7c-46d9-b85e-c00f9986ae34">32000&#160;Aurora&#160;Road</ix:nonNumeric>, <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:EntityAddressAddressLine2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl8zLTAtMS0xLTEwNTk5NC90ZXh0cmVnaW9uOmVmYzFhOGU5M2FiZDQ5ZjA5MGRlMDBjOThhMDI5NmU2Xzg_a0c142d5-b071-404d-8fe9-0508e704b45e">Suite B</ix:nonNumeric> <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:EntityAddressCityOrTown" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl8zLTAtMS0xLTEwNTk5NC90ZXh0cmVnaW9uOmVmYzFhOGU5M2FiZDQ5ZjA5MGRlMDBjOThhMDI5NmU2XzEx_10df4c12-13ca-446a-99cd-b11693a100c5">Solon</ix:nonNumeric>, <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:EntityAddressStateOrProvince" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl8zLTAtMS0xLTEwNTk5NC90ZXh0cmVnaW9uOmVmYzFhOGU5M2FiZDQ5ZjA5MGRlMDBjOThhMDI5NmU2XzE1_86382903-cc24-4094-be68-093f9474c998">OH</ix:nonNumeric></span></div></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Address of principal executive offices)</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:EntityAddressPostalZipCode" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl82LTAtMS0xLTEwNTk5NA_2c54d402-fa2c-46d6-b12f-e1b115a05075">44139</ix:nonNumeric></span></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Zip Code)</span></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Registrant&#8217;s telephone number, including area code): <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:CityAreaCode" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl84LTAtMS0xLTEwNTk5NC90ZXh0cmVnaW9uOjg0ZTg1ZTQwOGJjZTQyMWVhNTJkYWZiMTc1MzBkMzBlXzU4_37277452-17bd-4f00-819d-49a603123196">(440)</ix:nonNumeric></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:LocalPhoneNumber" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl84LTAtMS0xLTEwNTk5NC90ZXh0cmVnaW9uOjg0ZTg1ZTQwOGJjZTQyMWVhNTJkYWZiMTc1MzBkMzBlXzYx_61687250-0ee2-4dda-a07f-15139386e025">715-1300</ix:nonNumeric></span></div></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">None</span></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(Former name, former address and former fiscal year, if changed since last report)</span></td></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Securities registered pursuant to Section&#160;12(b) of the Act: </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:36.911%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:22.876%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:36.913%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Title of each class</span></td><td colspan="3" style="border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Trading<br/>Symbol(s)</span></td><td colspan="3" style="border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Name of each exchange<br/>on which registered</span></td></tr><tr><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:Security12bTitle" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6YzlkMGRlNmNmYjBlNDY1MGI3MGM3NDY1MmRmMjZhMjYvdGFibGVyYW5nZTpjOWQwZGU2Y2ZiMGU0NjUwYjcwYzc0NjUyZGYyNmEyNl8xLTAtMS0xLTEwNTk5NA_e366fe34-8362-45e0-a336-b62b40222896">Common Stock, par value $0.0001 per share</ix:nonNumeric></span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:TradingSymbol" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6YzlkMGRlNmNmYjBlNDY1MGI3MGM3NDY1MmRmMjZhMjYvdGFibGVyYW5nZTpjOWQwZGU2Y2ZiMGU0NjUwYjcwYzc0NjUyZGYyNmEyNl8xLTEtMS0xLTEwNTk5NA_51c0bd7d-1a1f-4e7f-bd1c-f5da098d149f">EFOI</ix:nonNumeric></span></td><td colspan="3" style="border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6YzlkMGRlNmNmYjBlNDY1MGI3MGM3NDY1MmRmMjZhMjYvdGFibGVyYW5nZTpjOWQwZGU2Y2ZiMGU0NjUwYjcwYzc0NjUyZGYyNmEyNl8xLTItMS0xLTEwNTk5NA_ec495a16-c795-42c3-8bd1-2ceee9bee51e">The Nasdaq Stock Market LLC</ix:nonNumeric></span></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.&#160; <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:EntityCurrentReportingStatus" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGV4dHJlZ2lvbjo3MDMwNzY2NDU1MTg0ODU4YjE2YTdhNGQ2ZDE4MWFmYl8xODUx_70bcf5ef-4517-4195-82d5-fff88b920cab">Yes</ix:nonNumeric> </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9745;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;No </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9744;</span></div><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (Section 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).&#160; <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:EntityInteractiveDataCurrent" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGV4dHJlZ2lvbjo3MDMwNzY2NDU1MTg0ODU4YjE2YTdhNGQ2ZDE4MWFmYl8xODUy_d5efa7b1-ca3e-41c6-950f-151d7c0f53b9">Yes</ix:nonNumeric> </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9745;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;No </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9744;</span></div><div style="text-indent:9pt"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.567%"><tr><td style="width:1.0%"></td><td style="width:20.618%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:36.243%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:23.743%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.996%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Large accelerated filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9744;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accelerated filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9744;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDk2OWIzMDRiMmRmNDMwMjgwZjc4MTJlYTY1OGZlZGMvdGFibGVyYW5nZTpkOTY5YjMwNGIyZGY0MzAyODBmNzgxMmVhNjU4ZmVkY18xLTAtMS0xLTEwNTk5NA_75668af6-d184-4798-bc4b-982496b31bb6">Non-accelerated filer</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9745;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Smaller reporting company</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:EntitySmallBusiness" format="ixt:fixed-true" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDk2OWIzMDRiMmRmNDMwMjgwZjc4MTJlYTY1OGZlZGMvdGFibGVyYW5nZTpkOTY5YjMwNGIyZGY0MzAyODBmNzgxMmVhNjU4ZmVkY18xLTMtMS0xLTEwNTk5NA_fbcb78d7-db49-4f51-bdd7-9afef4f66007">&#9745;</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Emerging growth company</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:EntityEmergingGrowthCompany" format="ixt:fixed-false" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDk2OWIzMDRiMmRmNDMwMjgwZjc4MTJlYTY1OGZlZGMvdGFibGVyYW5nZTpkOTY5YjMwNGIyZGY0MzAyODBmNzgxMmVhNjU4ZmVkY18yLTMtMS0xLTEwNTk5NA_79b2ba36-9e9b-4bdf-ae81-f92b542aba87">&#9744;</ix:nonNumeric></span></td></tr></table></div><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9744;</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).&#160; Yes </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9744;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;No </span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="dei:EntityShellCompany" format="ixt:fixed-false" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGV4dHJlZ2lvbjo3MDMwNzY2NDU1MTg0ODU4YjE2YTdhNGQ2ZDE4MWFmYl8xODUz_19ea4a40-2f99-4cbf-9c85-35c6717dae88">&#9745;</ix:nonNumeric></span></div><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The number of outstanding shares of the registrant&#8217;s common stock, $0.0001 par value, as of May&#160;9, 2023 was <ix:nonFraction unitRef="shares" contextRef="i3e6f62a8ec0848d3b620c06d01d14575_I20230509" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGV4dHJlZ2lvbjo3MDMwNzY2NDU1MTg0ODU4YjE2YTdhNGQ2ZDE4MWFmYl8xODQ2_2e8f73d5-3087-4a49-88e0-fb9272120af8">19,243,610</ix:nonFraction>.</span></div><div style="height:27pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_7"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">TABLE OF CONTENTS</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:11.180%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.577%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:76.092%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.651%"></td><td style="width:0.1%"></td></tr><tr><td colspan="12" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">PART I - FINANCIAL INFORMATION</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Page</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">ITEM 1.</span></td><td colspan="6" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">FINANCIAL STATEMENTS</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">a.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Condensed Consolidated Balance Sheets as of March&#160;31, 2023 (Unaudited) and December&#160;31, 2022 </span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i137ef4de63f24bc79d9040dc6b8448eb_16">4</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">b.</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Condensed Consolidated Statements of Operations for the three months ended March&#160;31, 2023 and 2022 (Unaudited)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i137ef4de63f24bc79d9040dc6b8448eb_19">6</a></span></div></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">c.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Condensed Consolidated Statements of Changes in Stockholders' Equity for the three months ended March&#160;31, 2023 and 2022 (Unaudited)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i137ef4de63f24bc79d9040dc6b8448eb_22">7</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">d.</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Condensed Consolidated Statements of Cash Flows for the three months ended March&#160;31, 2023 and 2022 (Unaudited)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i137ef4de63f24bc79d9040dc6b8448eb_28">8</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">e.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Notes to the Condensed Consolidated Financial Statements (Unaudited)</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i137ef4de63f24bc79d9040dc6b8448eb_40">10</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">ITEM 2.</span></td><td colspan="6" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i137ef4de63f24bc79d9040dc6b8448eb_79">29</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">ITEM 3.</span></td><td colspan="6" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i137ef4de63f24bc79d9040dc6b8448eb_124">38</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">ITEM 4.</span></td><td colspan="6" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">CONTROLS AND PROCEDURES</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i137ef4de63f24bc79d9040dc6b8448eb_127">38</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="12" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">PART II - OTHER INFORMATION</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">ITEM 1.</span></td><td colspan="6" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">LEGAL PROCEEDINGS</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i137ef4de63f24bc79d9040dc6b8448eb_133">39</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">ITEM 1A.</span></td><td colspan="6" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">RISK FACTORS</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i137ef4de63f24bc79d9040dc6b8448eb_136">39</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">ITEM 2.</span></td><td colspan="6" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i137ef4de63f24bc79d9040dc6b8448eb_139">39</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">ITEM 3.</span></td><td colspan="6" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">DEFAULTS UPON SENIOR SECURITIES</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i137ef4de63f24bc79d9040dc6b8448eb_142">39</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">ITEM 4.</span></td><td colspan="6" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MINE SAFETY DISCLOSURES</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i137ef4de63f24bc79d9040dc6b8448eb_145">39</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">ITEM 5.</span></td><td colspan="6" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">OTHER INFORMATION</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i137ef4de63f24bc79d9040dc6b8448eb_148">39</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">ITEM 6.</span></td><td colspan="6" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">EXHIBITS</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i137ef4de63f24bc79d9040dc6b8448eb_151">40</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="6" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">SIGNATURES</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i137ef4de63f24bc79d9040dc6b8448eb_154">42</a></span></div></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_10"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART I - FINANCIAL INFORMATION</span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Forward-looking statements</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Unless the context otherwise requires, all references to &#8220;Energy Focus,&#8221; &#8220;we,&#8221; &#8220;us,&#8221; &#8220;our,&#8221; &#8220;our company,&#8221; or &#8220;the Company&#8221; refer to Energy Focus, Inc., a Delaware corporation, and its consolidated subsidiary for the applicable periods, considered as a single enterprise.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">This Quarterly Report on Form 10-Q (this &#8220;Quarterly Report&#8221;) includes statements that express our opinions, expectations, beliefs, plans, objectives, assumptions or projections regarding future events or future results and therefore are, or may be deemed to be, &#8220;forward-looking statements&#8221; within the meaning of Section 27A of the Securities Act of 1933, as amended (the &#8220;Securities Act&#8221;), and Section 21E of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;). These forward-looking statements can generally be identified by the use of forward-looking terminology, including the terms &#8220;believes,&#8221; &#8220;estimates,&#8221; &#8220;anticipates,&#8221; &#8220;expects,&#8221; &#8220;feels,&#8221; &#8220;seeks,&#8221; &#8220;forecasts,&#8221; &#8220;projects,&#8221; &#8220;intends,&#8221; &#8220;plans,&#8221; &#8220;may,&#8221; &#8220;will,&#8221; &#8220;should,&#8221; &#8220;could&#8221; or &#8220;would&#8221; or, in each case, their negative or other variations or comparable terminology. These forward-looking statements include all matters that are not historical facts. They appear in a number of places throughout this Quarterly Report and include statements regarding our intentions, beliefs,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">or current expectations concerning, among other things, our results of operations, financial condition, liquidity, prospects, growth, strategies, capital expenditures,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">and the industry in which we operate.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">By their nature, forward-looking statements involve risks and uncertainties because they relate to events and depend on circumstances that may or may not occur in the future. Although we base these forward-looking statements on assumptions that we believe are reasonable when made in light of information currently available to us, we caution you that forward-looking statements are not guarantees of future performance and that our actual results of operations, financial condition and liquidity, and industry developments may differ materially from statements made in or suggested by the forward-looking statements contained in this Quarterly Report. In addition, even if our results of operations, financial condition and liquidity, and industry developments are consistent with the forward-looking statements contained in this Quarterly Report, those results or developments may not be indicative of results or developments in subsequent periods.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">We believe that important factors that could cause our actual results to differ materially from forward-looking statements include, but are not limited to, the risks and uncertainties outlined under &#8220;Risk Factors&#8221; under Part I, Item 1A of our Annual Report on Form 10-K for the year ended December&#160;31, 2022 and other matters described in this Quarterly Report and our other filings with the Securities and Exchange Commission generally. Some of these factors include:</span></div><div style="padding-left:36pt"><span><br/></span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our need for and ability to obtain additional financing in the near term, on acceptable terms or at all, to continue our operations;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to regain and maintain compliance with the continued listing standards of The Nasdaq Stock Market LLC (&#8220;Nasdaq&#8221;);</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to refinance or extend maturing debt on acceptable terms or at all;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to continue as a going concern for a reasonable period of time;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to realize synergies with our strategic investor;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">instability in the U.S. and global economies and business interruptions experienced by us, our customers and our suppliers, particularly in light of supply chain constraints and other long-term impacts of the coronavirus (&#8220;COVID-19&#8221;) pandemic;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">the competitiveness and market acceptance of our light-emitting diode (&#8220;LED&#8221;) lighting and control technologies and products;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to compete effectively against companies with lower prices or cost structures, greater resources, or more rapid development capabilities, and new competitors in our target markets;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to extend our product portfolio into new applications and end markets;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to increase demand in our targeted markets and to manage sales cycles that are difficult to predict and may span several quarters;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">the timing of large customer orders, significant expenses and fluctuations between demand and capacity as we manage inventory and invest in growth opportunities;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to successfully scale our network of sales representatives, agents, distributors and other channel partners to compete with the sales reach of larger, established competitors;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to implement plans to increase sales and control expenses;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">our reliance on a limited number of customers for a significant portion of our revenue, and our ability to maintain or grow such sales levels;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to add new customers to reduce customer concentration;</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to attract and retain a new chief financial officer;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to manage the size of our workforce while continuing to attract, develop and retain qualified personnel, and to do so in a timely manner;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to diversify our reliance on a limited number of third-party suppliers and development partners, our ability to manage third-party product development and obtain critical components and finished products on acceptable terms and of acceptable quality despite ongoing global supply chain challenges, and the impact of our fluctuating demand on the stability of such suppliers;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to timely, efficiently and cost-effectively transport products from our third-party suppliers by ocean marine and other logistics channels despite global supply chain and logistics disruptions;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">the impact of any type of legal inquiry, claim or dispute;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">the macro-economic conditions, including rising interest rates and recessionary trends, in the United States and in other markets in which we operate or secure products, which could affect our ability to obtain raw materials, component parts, freight, energy, labor, and sourced finished goods in a timely and cost-effective manner;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">our dependence on military maritime customers and on the levels and timing of government funding available to such customers, as well as the funding resources of our other customers in the public sector and commercial markets;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">business interruptions resulting from geopolitical actions such as war and terrorism, natural disasters, including earthquakes, typhoons, floods and fires, or from health epidemics or pandemics or other contagious outbreaks;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to respond to new lighting and control technologies and market trends;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to fulfill our warranty obligations with safe and reliable products;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">any delays we may encounter in making new products available or fulfilling customer specifications;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">any flaws or defects in our products or in the manner in which they are used or installed;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to protect our intellectual property rights and other confidential information, and manage infringement claims by others;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">our compliance with government contracting laws and regulations, through both direct and indirect sale channels, as well as other laws, such as those relating to the environment and health and safety;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">risks inherent in international markets, such as economic and political uncertainty, changing regulatory and tax requirements and currency fluctuations, including tariffs and other potential barriers to international trade; and</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to maintain effective internal controls and otherwise comply with our obligations as a public company.</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">In light of the foregoing, we caution you not to place undue reliance on our forward-looking statements. Any forward-looking statement that we make in this Quarterly Report speaks only as of the date of such statement, and we undertake no obligation to update any forward-looking statement or to publicly announce the results of any revision to any of those statements to reflect future events or developments, except as required by law. Comparisons of results for current and any prior periods are not intended to express any future trends or indications of future performance, unless specifically expressed as such, and should only be viewed as historical data. Furthermore, new risks and uncertainties arise from time to time, and it is impossible for us to predict those events or how they may affect us.</span></div><div><span><br/></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Energy Focus</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:115%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:115%;position:relative;top:-3.5pt;vertical-align:baseline"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Intellitube</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:115%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">, RedCap</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:115%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">, and EnFocus&#8482; are our registered trademarks. We may also refer to trademarks of other corporations and organizations in this document.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_13"></div><hr style="page-break-after:always"/><div style="min-height:13.5pt;width:100%"><div><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 1. FINANCIAL STATEMENTS</span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_16"></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">CONDENSED</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">CONSOLIDATED BALANCE SHEETS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">(in thousands,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">except share and per share amounts)</span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.416%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.266%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.268%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;text-decoration:underline">(Unaudited)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">ASSETS</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Current assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Cash</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNC0xLTEtMS0xMDU5OTQ_94812e08-bad4-4a49-85cb-0a9c541715ba">301</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNC0zLTEtMS0xMDU5OTQ_cbf4cf43-76a7-4603-a7c7-50a673c88636">52</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Trade accounts receivable, less allowances of $<ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNS0wLTEtMS0xMDU5OTQvdGV4dHJlZ2lvbjo0MGIyN2JmZTkyYzc0NDg3OTJiODJjZGNlYzY2OGM1MV81MA_03bcd735-1eae-4076-9b67-de20ceea1267">58</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNS0wLTEtMS0xMDU5OTQvdGV4dHJlZ2lvbjo0MGIyN2JmZTkyYzc0NDg3OTJiODJjZGNlYzY2OGM1MV81Nw_0c3f1344-da82-4bae-90ef-5a9d9db1e366">26</ix:nonFraction>, respectively</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNS0xLTEtMS0xMDU5OTQ_a6a23fa7-ab4a-4c9c-96a9-059e41df6d9e">909</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNS0zLTEtMS0xMDU5OTQ_808c281f-f1ff-4708-92d0-50541ad1e545">445</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Inventories, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNi0xLTEtMS0xMDU5OTQ_89f5409f-d733-49ab-910b-061a4a22cba8">4,938</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNi0zLTEtMS0xMDU5OTQ_03673663-9846-4f34-9ddf-44c8a1cad51b">5,476</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Short-term deposits</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:DepositsAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNy0xLTEtMS0xMDU5OTQ_e015ecf1-1e6e-4c6d-a6ad-5642ab5e356a">615</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:DepositsAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNy0zLTEtMS0xMDU5OTQ_8ad8a0a7-9a63-41fd-aeb5-25968dacf2c1">592</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Prepaid and other current assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfOC0xLTEtMS0xMDU5OTQ_89e68f4c-aef6-4b90-91fb-9bf304acf6bc">226</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfOC0zLTEtMS0xMDU5OTQ_87f2e687-3c5f-4aea-89a9-6d88490510ec">232</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Receivable for claimed ERTC</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="efoi:ReceivableForClaimedEmployeeRetentionTaxCreditCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTAtMS0xLTEtMTA2MjQy_0a75ef9e-4c91-4525-ad3f-a49571e98663">445</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="efoi:ReceivableForClaimedEmployeeRetentionTaxCreditCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTAtMy0xLTEtMTA2MjQy_a3ab0829-8978-4fd8-8ad7-da66c3b2a1f0">445</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Total current assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTAtMS0xLTEtMTA1OTk0_4f8b3d62-0770-4b46-9ee9-f40385284161">7,434</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTAtMy0xLTEtMTA1OTk0_4bf7c5c6-3ee2-4660-9bed-025f407c65df">7,242</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Property and equipment, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTItMS0xLTEtMTA1OTk0_8c7e104a-a677-49c5-aa75-507ee4551b12">68</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTItMy0xLTEtMTA1OTk0_0536f557-6f10-4333-b293-e98e031e5129">76</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Operating lease, right-of-use asset</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTQtMS0xLTEtMTA1OTk0_d0d7703c-81d8-486b-9f26-21200cae54b4">1,111</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTQtMy0xLTEtMTA1OTk0_1346957a-616e-41bb-898a-2d98cef0dd4e">1,180</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Total assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTktMS0xLTEtMTA1OTk0_2b0e2d2c-0a97-4c01-a0d9-c5a4c1fd18cd">8,613</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTktMy0xLTEtMTA1OTk0_d8cef959-76b7-48a8-aebb-5112965d61c3">8,498</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">LIABILITIES</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Current liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Accounts payable</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjMtMS0xLTEtMTA1OTk0_d358e232-f04b-48a2-8ba6-c8413fa870b1">2,177</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjMtMy0xLTEtMTA1OTk0_d8392e7a-3730-409c-a2a6-2d902082ed47">2,204</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Accrued liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjQtMS0xLTEtMTA1OTk0_72623fab-f1c6-486b-83aa-7389d56377a6">229</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjQtMy0xLTEtMTA1OTk0_a16995f8-36fc-46f1-84b2-d29454f8835c">145</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Accrued payroll and related benefits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:AccruedEmployeeBenefitsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjYtMS0xLTEtMTA1OTk0_99121dcc-ba8b-4edb-8da1-639a0f421062">235</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:AccruedEmployeeBenefitsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjYtMy0xLTEtMTA1OTk0_6f0965fc-3156-460b-a2a6-f62f8c9f81b7">261</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Accrued sales commissions</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:AccruedSalesCommissionCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjctMS0xLTEtMTA1OTk0_7c6cffbf-48e3-48e5-ba21-e097434cb780">29</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:AccruedSalesCommissionCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjctMy0xLTEtMTA1OTk0_b7eedcb5-0d62-485f-9d67-193868471e8f">76</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Accrued warranty reserve</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjktMS0xLTEtMTA1OTk0_71043c83-267d-4df7-9fa3-d2dce4d34c64">143</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjktMy0xLTEtMTA1OTk0_8b108056-8c83-4944-9d53-896a21cb89c8">183</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMzEtMS0xLTEtMTA1OTk0_9857785c-b0ab-4935-a476-3dcc311a67de">205</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMzEtMy0xLTEtMTA1OTk0_46e7bc1e-2206-4064-928a-e1d0fb771286">198</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Credit line borrowings, net of loan origination fees</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:LinesOfCreditCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMzUtMS0xLTEtMTA1OTk0_1aab0a8b-6d17-42b8-a728-1608691c85d0">388</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:LinesOfCreditCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMzUtMy0xLTEtMTA1OTk0_41f23e61-2ab0-4e24-b7f4-e2c2a8023939">1,447</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Related party promissory notes payable</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:NotesPayableRelatedPartiesClassifiedCurrent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMzgtMS0xLTEtMTA1OTk0_599c520b-95a0-4b0b-87d2-837aaa280abf">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:NotesPayableRelatedPartiesClassifiedCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMzgtMy0xLTEtMTA1OTk0_aa6a174a-63f3-43f2-85eb-5c4a4a747192">814</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Promissory notes payable, net of discounts and loan origination fees</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:NotesPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMzktMS0xLTEtMTA1OTk0_7326c17a-ee5b-4469-a7eb-e90526cf3387">1,277</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:NotesPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMzktMy0xLTEtMTA1OTk0_111108bd-7e52-40fc-8dc6-2c41ebd8b799">2,618</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Total current liabilities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNDAtMS0xLTEtMTA1OTk0_13ce121d-f47c-4ee9-a0e4-fd8fa073f7cd">4,683</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNDAtMy0xLTEtMTA1OTk0_fe80f146-8413-4b29-9641-605ff9b08ed3">7,946</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:120%">(continued on the next page)</span></div><div style="text-align:center"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:13.5pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">CONDENSED</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">CONSOLIDATED BALANCE SHEETS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">(in thousands,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">except share and per share amounts) </span></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.416%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.266%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.268%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%;text-decoration:underline">(Unaudited)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Operating lease liabilities, net of current portion</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfNC0xLTEtMS0xMDU5OTQ_27380f6d-4af6-4b70-b58f-f6f53653b2a3">975</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfNC0zLTEtMS0xMDU5OTQ_db6f4fba-f23c-4da2-9e45-344819fcb173">1,029</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Total liabilities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:Liabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfOS0xLTEtMS0xMDU5OTQ_42bf2e69-8949-4f78-88fd-430fc636aaca">5,658</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:Liabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfOS0zLTEtMS0xMDU5OTQ_6be67c51-b7a3-45d5-bb1b-2309832ae60e">8,975</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">STOCKHOLDERS' EQUITY (DEFICIT)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:100%">Preferred stock, par value $<ix:nonFraction unitRef="usdPerShare" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTItMC0xLTEtMTA1OTk0L3RleHRyZWdpb246NTkxYzRlOTFlZTdhNGIzMTlmZmI2NWFlZDkwMGIyODVfMzE_acd9aa19-eb51-4347-94ee-b89e5920128e"><ix:nonFraction unitRef="usdPerShare" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTItMC0xLTEtMTA1OTk0L3RleHRyZWdpb246NTkxYzRlOTFlZTdhNGIzMTlmZmI2NWFlZDkwMGIyODVfMzE_dd01a376-088b-42ce-a85e-0b2afcfe7e70">0.0001</ix:nonFraction></ix:nonFraction> per share:</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Authorized: <ix:nonFraction unitRef="shares" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTMtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246Y2FhZGMwZjFkNDUwNGNkMWFiZmZhMGYzNWQ4YjhmMWFfMTY_6de04620-8212-46cd-8a9f-eaf115f83c17"><ix:nonFraction unitRef="shares" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTMtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246Y2FhZGMwZjFkNDUwNGNkMWFiZmZhMGYzNWQ4YjhmMWFfMTY_bd3a3b16-b1b4-4d0a-8d86-6604cd4718ce">5,000,000</ix:nonFraction></ix:nonFraction> shares (<ix:nonFraction unitRef="shares" contextRef="i5e5ab62779694ba6926de90a1d2e0626_I20230331" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTMtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246Y2FhZGMwZjFkNDUwNGNkMWFiZmZhMGYzNWQ4YjhmMWFfMjc_2b3e3e0b-83ec-49f2-8729-2b1ee970fdd8"><ix:nonFraction unitRef="shares" contextRef="i3c8eada87c5e44ea817059a51cc69a5e_I20221231" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTMtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246Y2FhZGMwZjFkNDUwNGNkMWFiZmZhMGYzNWQ4YjhmMWFfMjc_9aa7935e-7cc6-41cf-9dad-b34f537e4d37">3,300,000</ix:nonFraction></ix:nonFraction> designated as Series A Convertible Preferred Stock) at March&#160;31, 2023 and December&#160;31, 2022 </span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Issued and outstanding: <ix:nonFraction unitRef="shares" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTQtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246N2VjYzc4MWEyZDk2NGQ5YmE1ZTRkMTYzYzE3OTcwNTdfMjg_02a4c4f6-6b74-4e1c-969b-2acecda3cec9"><ix:nonFraction unitRef="shares" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTQtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246N2VjYzc4MWEyZDk2NGQ5YmE1ZTRkMTYzYzE3OTcwNTdfMjg_0390d7e7-0c1d-4707-b267-087e98016ab1"><ix:nonFraction unitRef="shares" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="INF" name="us-gaap:PreferredStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTQtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246N2VjYzc4MWEyZDk2NGQ5YmE1ZTRkMTYzYzE3OTcwNTdfMjg_ca62177d-3ce6-46b8-918f-31c908e2fc74"><ix:nonFraction unitRef="shares" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="INF" name="us-gaap:PreferredStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTQtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246N2VjYzc4MWEyZDk2NGQ5YmE1ZTRkMTYzYzE3OTcwNTdfMjg_fba3c3b5-d866-4e60-a4d3-094baffaed66">876,447</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> at March&#160;31, 2023 and December&#160;31, 2022</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:PreferredStockValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTQtMS0xLTEtMTA1OTk0_10d9d874-1d29-48c7-a69c-2d4d0bac5221">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:PreferredStockValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTQtMy0xLTEtMTA1OTk0_1cd86a57-b00f-4767-a8b4-da6b3ab394c3">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:100%">Common stock, par value $<ix:nonFraction unitRef="usdPerShare" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTUtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246MGQ0YzliZWVlMmUzNGExNDkwYzVhNWZkNmIzZTY3ZDVfMjg_104fa4bb-86f2-49e2-92df-09574a96762d"><ix:nonFraction unitRef="usdPerShare" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTUtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246MGQ0YzliZWVlMmUzNGExNDkwYzVhNWZkNmIzZTY3ZDVfMjg_e716da28-1bb1-4ce1-a92a-498d17827ea0">0.0001</ix:nonFraction></ix:nonFraction> per share:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Authorized: <ix:nonFraction unitRef="shares" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTYtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246MTc3ODQ4MTNiOWU1NDI4NGE4ZjJiZDA2MDgxY2FhMGNfMTY_48441166-6d09-4766-abd3-4a86d37003ca"><ix:nonFraction unitRef="shares" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTYtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246MTc3ODQ4MTNiOWU1NDI4NGE4ZjJiZDA2MDgxY2FhMGNfMTY_56bdb60d-e07b-4425-b5ca-6dfbdee821d0">50,000,000</ix:nonFraction></ix:nonFraction> shares at March&#160;31, 2023 and December&#160;31, 2022</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Issued and outstanding: <ix:nonFraction unitRef="shares" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTctMC0xLTEtMTA1OTk0L3RleHRyZWdpb246YzVlYjU3Y2Y5NjgzNGNhZjkyNTcxMTI0YTE4YTRmYWVfMjg_338a865d-114e-4243-9cdc-3d3b0d4c57a2"><ix:nonFraction unitRef="shares" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTctMC0xLTEtMTA1OTk0L3RleHRyZWdpb246YzVlYjU3Y2Y5NjgzNGNhZjkyNTcxMTI0YTE4YTRmYWVfMjg_a3cf00c3-587a-4f5c-8d35-0c1055e4088b">19,243,610</ix:nonFraction></ix:nonFraction> at March&#160;31, 2023 and <ix:nonFraction unitRef="shares" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTctMC0xLTEtMTA1OTk0L3RleHRyZWdpb246YzVlYjU3Y2Y5NjgzNGNhZjkyNTcxMTI0YTE4YTRmYWVfNDE_aef29719-e0df-4baf-967a-5899c32a4f22"><ix:nonFraction unitRef="shares" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTctMC0xLTEtMTA1OTk0L3RleHRyZWdpb246YzVlYjU3Y2Y5NjgzNGNhZjkyNTcxMTI0YTE4YTRmYWVfNDE_f8592b5a-a058-42e8-a192-b0d63399c2e2">9,848,438</ix:nonFraction></ix:nonFraction> at December&#160;31, 2022</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTctMS0xLTEtMTA1OTk0_cc040323-087d-4b15-ac7a-0f0f51ab8070">2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTctMy0xLTEtMTA1OTk0_a0896019-67ee-405d-90d4-5d664c5368c4">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Additional paid-in capital</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:AdditionalPaidInCapitalCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTgtMS0xLTEtMTA1OTk0_8e683a21-663c-4576-92e1-2887a6792e07">153,311</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:AdditionalPaidInCapitalCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTgtMy0xLTEtMTA1OTk0_3c92b84f-b90c-4c7e-b05d-acf4332675e5">148,545</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Accumulated other comprehensive loss</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTktMS0xLTEtMTA1OTk0_51cbd2df-6259-43ba-8d1b-a04063c8e619">3</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTktMy0xLTEtMTA1OTk0_83a30e26-c09f-45c6-9c83-cdc063f37c72">3</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Accumulated deficit</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" sign="-" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMjAtMS0xLTEtMTA1OTk0_c5b419f8-618a-4107-ab70-25d350d592dc">150,355</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" sign="-" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMjAtMy0xLTEtMTA1OTk0_f6202327-686a-49dd-8dcf-a8e33e652bda">149,020</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Total stockholders' equity (deficit)</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMjEtMS0xLTEtMTA1OTk0_09b8493a-3ff7-47e9-b10a-686cca440a4f">2,955</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMjEtMy0xLTEtMTA1OTk0_0600c4fe-a2b3-44ad-8272-0eacda61a91c">477</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Total liabilities and stockholders' equity (deficit)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMjItMS0xLTEtMTA1OTk0_d1968d50-c6ba-4caa-99ae-83acab0a1a20">8,613</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMjItMy0xLTEtMTA1OTk0_485a449b-7ad8-4673-bb4a-7927cfb3b30e">8,498</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these condensed consolidated financial statements.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_19"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">CONDENSED</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF OPERATIONS</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">(in thousands, except per share amounts)</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(Unaudited)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.416%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:15.266%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.268%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Net sales</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:Revenues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMi01LTEtMS0xMDU5OTQ_338997d4-2460-4e2a-9eb8-460fa7a10cb4">930</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMi03LTEtMS0xMDU5OTQ_6bb6f294-9b92-47c5-a71c-fc0509591770">2,061</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Cost of sales</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMy01LTEtMS0xMDU5OTQ_e09cbe67-f5c7-4281-ba23-98c2c90e9506">913</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMy03LTEtMS0xMDU5OTQ_8cdd2a15-65b1-457e-aa76-e36a133b303d">2,087</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Gross profit (loss)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:GrossProfit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfNC01LTEtMS0xMDU5OTQ_972d8d7d-400e-4baf-93c0-cbc9971030b1">17</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:GrossProfit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfNC03LTEtMS0xMDU5OTQ_1337986b-1713-42a0-b952-b0f3e5fd5ff0">26</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Operating expenses:</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Product development</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfNy01LTEtMS0xMDU5OTQ_a17901b4-8954-4fd5-92e6-f4fe32b5b7b6">154</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfNy03LTEtMS0xMDU5OTQ_6e951717-1172-477c-be74-e845d28ef57e">503</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Selling, general, and administrative</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfOC01LTEtMS0xMDU5OTQ_4d9e9153-fa2a-42b6-98af-b5e316214316">1,066</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfOC03LTEtMS0xMDU5OTQ_cf071971-c444-4257-ab44-542bc8cc120b">2,127</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Total operating expenses</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTAtNS0xLTEtMTA1OTk0_c4214a0e-73fd-4ee3-a6ae-cf113a3ad2f5">1,220</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTAtNy0xLTEtMTA1OTk0_7e6aaad2-218d-44cd-ab63-d22a01103822">2,630</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Loss from operations</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTEtNS0xLTEtMTA1OTk0_fc77c73e-1352-48e9-b2b6-c5f6b399c404">1,203</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTEtNy0xLTEtMTA1OTk0_eee18871-7c9f-48d1-add9-013a21f0e835">2,656</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Other expenses (income):</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:InterestExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTQtNS0xLTEtMTA1OTk0_39da064b-ee5a-4da2-b123-2fcb13c57fb4">123</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:InterestExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTQtNy0xLTEtMTA1OTk0_895ad3b8-acd0-4205-b626-37620bfd266c">184</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Other income</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:OtherNonoperatingIncome" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTctNS0xLTEtMTA1OTk0_d2887d0b-8104-4f12-a643-037d4f337407">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:OtherNonoperatingIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTctNy0xLTEtMTA1OTk0_a01fbeb1-d2ca-45a1-a878-12cb3855c2f9">30</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Other expenses</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:OtherNonoperatingExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTktNS0xLTEtMTA1OTk0_bcb5e3a5-07d1-434a-99d0-666435fe6057">7</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:OtherNonoperatingExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTktNy0xLTEtMTA1OTk0_b789a2a6-ef2d-4c06-9f04-2f96a997c38e">11</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Net loss</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjMtNS0xLTEtMTA1OTk0_bbe82126-4563-4ebc-bd92-6f7b4a33cd07">1,333</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjMtNy0xLTEtMTA1OTk0_362e63f0-cb8a-40ff-9244-700ed8d8744e">2,821</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Net loss per common share - basic and diluted</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="2" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjYtNS0xLTEtMTA1OTk0_984c5820-2aa9-4517-8a87-37b084d19dea"><ix:nonFraction unitRef="usdPerShare" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="2" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsPerBasicShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjYtNS0xLTEtMTA1OTk0_a2b8839c-8f22-43de-87f1-29965d2c4e45">0.08</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="2" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsPerBasicShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjYtNy0xLTEtMTA1OTk0_9b7ae595-03df-4fe8-88ae-5cb9b086bc7b"><ix:nonFraction unitRef="usdPerShare" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="2" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjYtNy0xLTEtMTA1OTk0_e03d132b-68b9-4273-af66-c4ce124b045f">0.44</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Weighted average shares of common stock outstanding:</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Basic and diluted </span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjktNS0xLTEtMTA1OTk0_8f69763a-1208-454a-8cb9-cdfbef1c7200"><ix:nonFraction unitRef="shares" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjktNS0xLTEtMTA1OTk0_dc0374f2-5f2d-491e-944f-0a9992b31a70">16,172</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjktNy0xLTEtMTA1OTk0_2ca76e99-3415-4f9b-993f-d7c7c98411cd"><ix:nonFraction unitRef="shares" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjktNy0xLTEtMTA1OTk0_7b5002ab-045c-442a-8bca-ef932b0f2055">6,437</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these condensed consolidated financial statements.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_22"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:9pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONDENSED</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS&#8217; EQUITY</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></div><div style="text-align:center;text-indent:-22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:29.530%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.755%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.356%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.755%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.906%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:6.857%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.461%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.110%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.970%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Preferred<br/>Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Common<br/>Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Additional<br/>Paid-in<br/>Capital</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Accumulated<br/>Other<br/>Comprehensive Loss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Accumulated<br/>Deficit</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total<br/>Stockholders'<br/>Equity</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%;text-decoration:underline">Shares</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%;text-decoration:underline">Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%;text-decoration:underline">Shares</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%;text-decoration:underline">Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i9a7d1794a8104661add5e63b5c25fdba_I20221231" decimals="-3" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMy0yLTEtMS0xMDU5OTQ_c94ac5a6-59b0-4f2c-9576-d86aef14254c">876</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9a7d1794a8104661add5e63b5c25fdba_I20221231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMy00LTEtMS0xMDU5OTQ_4a65cd49-f6b2-4940-9b5a-f8347a9c4584">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i86b320633b8748dc85a9f088e696b620_I20221231" decimals="-3" name="us-gaap:SharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMy02LTEtMS0xMDU5OTQ_8a5b3a10-9f5d-42f4-b6bd-4333f5d8b99c">9,849</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i86b320633b8748dc85a9f088e696b620_I20221231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMy04LTEtMS0xMDU5OTQ_94051d6b-2b66-47ce-b617-5d23d67fbbf6">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4706e2749453474f96b0f826c02bfff2_I20221231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMy0xNC0xLTEtMTA1OTk0_845f55df-09d5-4f75-b5d1-62f3bee10176">148,545</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if277bf1acdad484097554eff824cecce_I20221231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMy0xNi0xLTEtMTA1OTk0_14476a7e-5f18-4627-80a7-380e17a65b49">3</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ibed7bbd35e4d4af19a3ebaa34015a605_I20221231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMy0xOC0xLTEtMTA1OTk0_7d6a0211-b734-4aa3-8bfc-bd00f3a344ff">149,020</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMy0yMC0xLTEtMTA1OTk0_c8afc15f-d257-412a-b166-75693fbb9774">477</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Issuance of common stock</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ia01de0e6925348a6b9aa1ff401e983fb_D20230101-20230331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfNS02LTEtMS0xMDU5OTQ_05351c47-d135-4e3e-bc46-63af2e6ab49b">1,995</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia01de0e6925348a6b9aa1ff401e983fb_D20230101-20230331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfNS04LTEtMS0xMDU5OTQ_cf4f6847-94b6-4a4c-9303-c48810fa9cdb">1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i39baef1b652d45b5bbb73cee230fd1b3_D20230101-20230331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfNS0xNC0xLTEtMTA1OTk0_de2fd171-fd31-4fa4-b28a-14f225f99061">3,024</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfNS0yMC0xLTEtMTA1OTk0_db100803-eb6f-48e8-87ff-130ec9e2139f">3,025</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Stock issued in exchange transactions</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ia01de0e6925348a6b9aa1ff401e983fb_D20230101-20230331" decimals="-3" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfNi02LTEtMS0xMDU5OTQ_c4dcd4e2-bbba-425b-9f46-48f994251ee7">7,400</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i39baef1b652d45b5bbb73cee230fd1b3_D20230101-20230331" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfNi0xNC0xLTEtMTA1OTk0_150b05c8-8681-4dec-a7fe-086f5404656b">1,716</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfNi0yMC0xLTEtMTA1OTk0_b9c5d425-c156-4259-9ecf-b13c5267390f">1,716</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Offering costs on issuance of common stock and warrants</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Warrant liability</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Conversion of notes to preferred stock</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Common stock withheld in lieu of income tax withholding on vesting of restricted stock units</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i39baef1b652d45b5bbb73cee230fd1b3_D20230101-20230331" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTEtMTQtMS0xLTEwNTk5NA_fc9eebd7-4ec4-4b8e-8f03-088a9d49a3ff">26</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTEtMjAtMS0xLTEwNTk5NA_b285298d-c95e-4e07-ba89-9a274c83ccf8">26</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTItMC0xLTEtMTIzNDI4_f691fd30-036e-44fd-ac7f-7799a74f36e1">Impact of adoption of ASU 2016-13 - CECL</span></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i332087598fc94b48b75fa88d7e970e04_I20221231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTItMTgtMS0xLTEyMzQyOA_2d5a693d-7266-4f2b-98df-d708aec36562">2</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie9e52c1c012145bc88ceb201078bc021_I20221231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTItMjAtMS0xLTEyMzQyOA_a83e17c0-1a4f-4850-bde0-e890a0e061e7">2</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net loss for the three months ended March 31, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i79abf764b10649c79bfbc657c61a378f_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTItMTgtMS0xLTEwNTk5NA_7d986450-83dc-4555-a380-b6f5806ac015">1,333</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTItMjAtMS0xLTEwNTk5NA_65c63f3e-de91-4afb-a4ba-36ddee8a94b0">1,333</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at March 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i5d6b6b1ab0d3414b98b494f103de997a_I20230331" decimals="-3" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTMtMi0xLTEtMTA1OTk0_417d0399-658c-4199-8cd6-7b8b93279ac7">876</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5d6b6b1ab0d3414b98b494f103de997a_I20230331" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTMtNC0xLTEtMTA1OTk0_42fd81a8-4b88-4521-8561-01fc97cf1d96">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i3b7929a1a0cc4899a09a752d8c4797b5_I20230331" decimals="-3" name="us-gaap:SharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTMtNi0xLTEtMTA1OTk0_ebe0fdd7-6da0-494a-bdbd-9dad340a05d9">19,244</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3b7929a1a0cc4899a09a752d8c4797b5_I20230331" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTMtOC0xLTEtMTA1OTk0_6ff3d3d1-b759-4a81-824a-068a94349b39">2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4f08e72e51384ba0bf2c79a56122cd78_I20230331" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTMtMTQtMS0xLTEwNTk5NA_a5123876-749d-4896-82ed-542af1d9ce44">153,311</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ibc3dff37f7264873822a9f182d2fdc74_I20230331" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTMtMTYtMS0xLTEwNTk5NA_14f12a17-5610-451f-ac65-bfd6af604021">3</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i602c31992dc94abbac78f92fe9a8b733_I20230331" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTMtMTgtMS0xLTEwNTk5NA_819b2b08-ad3d-4ce8-bd2b-879f538cc781">150,355</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTMtMjAtMS0xLTEwNTk5NA_8dfb2eb5-24e1-4a34-b73e-c99b9bf2e538">2,955</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:center;text-indent:-22.5pt"><span><br/></span></div><div style="margin-top:9pt;text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.849%"><tr><td style="width:1.0%"></td><td style="width:29.576%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.401%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.764%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.401%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.366%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.401%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.764%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.401%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.366%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.401%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:6.869%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.401%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.478%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.401%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.125%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.401%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.984%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Preferred<br/>Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Common<br/>Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Additional<br/>Paid-in<br/>Capital</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Accumulated<br/>Other<br/>Comprehensive<br/>Loss</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Accumulated<br/>Deficit</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total<br/>Stockholders'<br/>Equity</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%;text-decoration:underline">Shares</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%;text-decoration:underline">Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%;text-decoration:underline">Shares</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%;text-decoration:underline">Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at December 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i4eba2aa2e4a24070b5b0760556ca79ff_I20211231" decimals="-3" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMy0yLTEtMS0xMDU5OTQ_b516887b-1021-4f46-ba54-ce021d22c6fd">876</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4eba2aa2e4a24070b5b0760556ca79ff_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMy00LTEtMS0xMDU5OTQ_9a563063-ac35-4758-b1de-dc7f938f918a">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i342384a9b8414f62ba8abbd02dd973c2_I20211231" decimals="-3" name="us-gaap:SharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMy02LTEtMS0xMDU5OTQ_8ef132c2-f01c-4502-bba7-500321a4ef31">6,368</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i342384a9b8414f62ba8abbd02dd973c2_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMy04LTEtMS0xMDU5OTQ_5b9815a0-6418-462f-a8d8-2fadb6152cfc">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id7901ceeb87c4c8ca66d7c2df401ff8e_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMy0xNC0xLTEtMTA1OTk0_59f86850-93d9-42c0-b912-4dee5b8393de">144,953</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i83811faacbc549d98bb80d2341326cbc_I20211231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMy0xNi0xLTEtMTA1OTk0_3ee9f8cc-bb01-489d-83f0-4e335cfefb93">3</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i635a8ef9501848789b80c3f87ba8b243_I20211231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMy0xOC0xLTEtMTA1OTk0_c9509e8e-0d0c-4db9-82a1-381a63cd7dc9">138,741</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9d29fd435d4542aa8f23d9515714b4a6_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMy0yMC0xLTEtMTA1OTk0_12e7f8bb-b329-4e0d-b040-444b3322a875">6,209</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Issuance of common stock upon the exercise of warrants</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i556b1c8cb1cd47a1b87164f45d21cda2_D20220101-20220331" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfOC02LTEtMS0xMDU5OTQ_a5b7e865-9337-44ce-93f6-81e76a5782ec">85</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iceb86460e9e4433eb3750bfe1f3af88e_D20220101-20220331" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTItMTQtMS0xLTEwNTk5NA_0855f760-efd7-4a89-8b53-d773bfb72da5">44</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTItMjAtMS0xLTEwNTk5NA_2b979f86-aa1e-4902-98d1-94290224f3fa">44</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">Net loss for the three months ended March 31, 2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i1195bc7655cb48ebb4f1b611e02f65b3_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTUtMTgtMS0xLTEwNTk5NA_f218ad89-03d0-4acb-98d6-f8d097940d8d">2,821</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTUtMjAtMS0xLTEwNTk5NA_3baa76ea-dd70-45d7-ae91-7ce672dff48e">2,821</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Balance at March 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="iaab8650287eb45c28e38cc25ece6e62c_I20220331" decimals="-3" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTYtMi0xLTEtMTA1OTk0_2b737b54-896f-4ade-867a-e60e2bc947ef">876</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaab8650287eb45c28e38cc25ece6e62c_I20220331" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTYtNC0xLTEtMTA1OTk0_f56b46a8-a333-4461-8413-eccdcd164b0c">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i12c0c720e2fc4cebb08ef4088d810276_I20220331" decimals="-3" name="us-gaap:SharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTYtNi0xLTEtMTA1OTk0_010ab902-c551-48bf-915d-d8460e2d77dc">6,453</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i12c0c720e2fc4cebb08ef4088d810276_I20220331" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTYtOC0xLTEtMTA1OTk0_a78aaf5c-309e-40a8-9714-a92d80f89a88">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic35168a23f0d42abbca5fc2abcd4f602_I20220331" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTYtMTQtMS0xLTEwNTk5NA_d99eecbe-7d61-4aa5-a7c3-11d0d57d78ec">144,997</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i15719debed6d4560b8e0f721b24395c9_I20220331" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTYtMTYtMS0xLTEwNTk5NA_b6a09210-b275-4a47-80a3-6662a9f10563">3</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i80ae409e01fb4b42ab86cd747db4c14c_I20220331" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTYtMTgtMS0xLTEwNTk5NA_0c1f8dd2-e0ff-43a5-b32b-0e0c4eea3a45">141,562</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i466b5761fcc746f6b9e105f3ee815891_I20220331" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTYtMjAtMS0xLTEwNTk5NA_ea5c701b-25ae-4e71-b66b-1db396bab9b3">3,432</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:9pt;text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these condensed consolidated financial statements.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_28"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">CONDENSED</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">CASH FLOWS</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(Unaudited)</span></div><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.566%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:15.266%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.268%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Cash flows from operating activities:</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMy01LTEtMS0xMDU5OTQ_3f6d0a15-6cfa-4280-a90e-acc4a0a5be5d">1,333</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMy03LTEtMS0xMDU5OTQ_8cac7432-2376-4965-9f8a-aca91375ce76">2,821</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Adjustments to reconcile net loss to net cash used in operating activities:</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Other income</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="efoi:GainLossFromEmployeeRetentionTaxCredit" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfNS01LTEtMS0xMDU5OTQ_91e0b9cf-152f-4b53-a471-bdafba363c15">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="efoi:GainLossFromEmployeeRetentionTaxCredit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfNS03LTEtMS0xMDU5OTQ_70d74925-1a64-4539-af0d-a611c501a8b8">30</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Depreciation</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:Depreciation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfNy01LTEtMS0xMDU5OTQ_cc2bf044-0ac1-4bc5-b19f-3aa5368fe1b3">8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:Depreciation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfNy03LTEtMS0xMDU5OTQ_bebc7337-2c30-43db-be9c-352b279811a0">44</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfOC01LTEtMS0xMDU5OTQ_c918d6d4-c570-46e0-8f40-e8631d9322dc">26</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfOC03LTEtMS0xMDU5OTQ_9ac2da5d-1adb-4971-a9ad-16f35134350d">44</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Provision for doubtful accounts receivable</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTAtNS0xLTEtMTA1OTk0_8036d17e-5aca-4fdc-98c8-416f01df152e">29</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTAtNy0xLTEtMTA1OTk0_97dd23e4-f034-4c3b-ad1d-04e55c362fa3">9</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Provision for slow-moving and obsolete inventories</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:InventoryWriteDown" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTEtNS0xLTEtMTA1OTk0_e8f57f83-be2b-4c28-b6e8-bca542c60992">23</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:InventoryWriteDown" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTEtNy0xLTEtMTA1OTk0_d488a884-2ef5-4234-9e73-545c556038d5">129</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Provision for warranties</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" sign="-" name="efoi:IncreaseDecreaseInProvisionForWarranties" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTItNS0xLTEtMTA1OTk0_23d4fe50-6391-4ead-8b3f-ce2d960c57ab">40</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="efoi:IncreaseDecreaseInProvisionForWarranties" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTItNy0xLTEtMTA1OTk0_16a06888-7d53-42f1-bbb4-acaca9a9ce6d">30</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Amortization of loan discounts and origination fees</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:AmortizationOfDebtDiscountPremium" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTQtNS0xLTEtMTA1OTk0_49ef72be-79cc-4a07-affa-fb764d515a60">62</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:AmortizationOfDebtDiscountPremium" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTQtNy0xLTEtMTA1OTk0_fd517347-487e-4e20-a790-0e4665b18968">69</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Changes in operating assets and liabilities (sources / (uses) of cash):</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTctNS0xLTEtMTA1OTk0_fec8aa97-eedf-466e-b6fd-04c725a2f640">496</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTctNy0xLTEtMTA1OTk0_dff87f8a-ee55-4d67-ba0f-b7c9951ecf8c">83</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Inventories</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTgtNS0xLTEtMTA1OTk0_a94e0c7d-4383-402a-aa0a-35ae1ac32d67">562</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTgtNy0xLTEtMTA1OTk0_879f2394-96c5-4534-bc67-879512e869c1">370</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Short-term deposits</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:IncreaseDecreaseInDepositOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTktNS0xLTEtMTA1OTk0_24c44be3-97a4-4fb5-95ad-1c6b077a383e">23</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInDepositOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTktNy0xLTEtMTA1OTk0_3cf2a439-2b29-41ae-9be5-b6272fca8590">12</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Prepaid and other assets</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjAtNS0xLTEtMTA1OTk0_f502fcf8-2f89-4faa-8ac7-74bf14361cb7">6</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjAtNy0xLTEtMTA1OTk0_555901f8-1858-4aea-8c05-8546bf8a0c63">20</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Accounts payable</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjEtNS0xLTEtMTA1OTk0_e86c641d-44bd-48d4-b21c-8602636640c7">27</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjEtNy0xLTEtMTA1OTk0_8a4ae19d-e3a1-4e8b-a95a-63f533df5d29">61</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Accrued and other liabilities</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjItNS0xLTEtMTA1OTk0_860ae137-0d59-4663-9a50-4559be73c64b">66</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjItNy0xLTEtMTA1OTk0_c4221a18-77b5-42ae-b178-6146592053a3">211</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:IncreaseDecreaseInDeferredRevenue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjMtNS0xLTEtMTA1OTk0_38f70a7c-7b39-4228-b1fa-b65822949273">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInDeferredRevenue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjMtNy0xLTEtMTA1OTk0_40d2fb55-955f-494b-9054-a1a52b3ee902">268</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 43.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Total adjustments</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjQtNS0xLTEtMTA1OTk0_c529a307-b2f3-42cf-811e-94299ec6f009">150</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjQtNy0xLTEtMTA1OTk0_50977bd6-4fce-495e-82a9-214dd288afba">118</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 55pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Net cash used in operating activities</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjUtNS0xLTEtMTA1OTk0_12c05f73-ada7-41c3-839f-3f99f0937f07">1,183</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjUtNy0xLTEtMTA1OTk0_74274431-ff19-4c24-9e26-049083c1a631">2,703</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Cash flows from investing activities:</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Acquisitions of property and equipment</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjctNS0xLTEtMTA1OTk0_eb11285e-a5c4-49cf-a022-a5cc418aae01">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjctNy0xLTEtMTA1OTk0_8f937b13-9555-43d4-999f-3fdf46c58956">35</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 55pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Net cash used in investing activities</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjktNS0xLTEtMTA1OTk0_257c7ced-fe7e-422e-bc25-3d1da3bcddbe">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjktNy0xLTEtMTA1OTk0_403237a7-dc70-4348-8bbf-ba6b0a28b906">35</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="text-indent:9pt"><span><br/></span></div><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:120%">(continued on next page)</span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">CONDENSED</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">CASH FLOWS</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">(in thousands)</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(Unaudited)</span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.416%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.266%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.268%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Cash flows from financing activities (sources / (uses) of cash):</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Proceeds from the issuance of common stock and warrants</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="efoi:ProceedsFromIssuanceOfCommonStockAndWarrants" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMy0xLTEtMS0xMDU5OTQ_8d7cffd2-dcc2-4d16-8081-44c145d4c108">3,025</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="efoi:ProceedsFromIssuanceOfCommonStockAndWarrants" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMy0zLTEtMS0xMDU5OTQ_399ac9cd-dc52-4724-9b52-1f9984c3832c">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Principal payments under finance lease obligations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:FinanceLeasePrincipalPayments" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfNy0xLTEtMS0xMDU5OTQ_c4f1de9b-ed2e-40bf-b314-bc5d05900287">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfNy0zLTEtMS0xMDU5OTQ_ad504ae9-d8e6-483e-8a99-0a631386a8d8">1</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Payments on the 2022 Streeterville Note</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a1e274029f04a2bb6408c3142d77ad7_D20230101-20230331" decimals="-3" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMTItMS0xLTEtMTE1Njcw_1836f05b-8d11-49da-90a6-f1b5598e008e">500</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1fb5e0ea729549988c25ee5f1b2a28a3_D20220101-20220331" decimals="-3" name="us-gaap:RepaymentsOfNotesPayable" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMTItMy0xLTEtMTE1Njc4_95a5e6a7-f1ac-4f97-8820-9617cfa5e341">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Payments on the 2021 Streeterville Note</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="id87a1212102e49a0b20b08c6c1d7c45a_D20230101-20230331" decimals="-3" name="us-gaap:RepaymentsOfNotesPayable" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMTItMS0xLTEtMTA1OTk0_fc813044-fbc9-4f80-8465-97497ad8a81a">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iaf725f30e0884d85b2a81b9eb941f3b7_D20220101-20220331" decimals="-3" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMTItMy0xLTEtMTA1OTk0_aa45f671-9609-4630-a068-2d75772f02fe">615</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Net payments on proceeds from the credit line borrowings - Credit Facilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:ProceedsFromLinesOfCredit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMTctMS0xLTEtMTA1OTk0_53f54e6b-7d33-4e6f-a79b-74c503ec43e8">1,093</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMTctMy0xLTEtMTA1OTk0_eb70e6ba-e9e6-457c-948c-f60a542aa63a">897</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 55pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Net cash provided by financing activities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMTgtMS0xLTEtMTA1OTk0_1bac26c0-cada-476c-92a5-4d0fd4453aef">1,432</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMTgtMy0xLTEtMTA1OTk0_a56629d9-56be-49ff-b416-637878e45169">281</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Net increase (decrease) in cash</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMjItMS0xLTEtMTA1OTk0_bc9d97ee-88ee-40b6-882b-845408f73cb8">249</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMjItMy0xLTEtMTA1OTk0_60697d56-1471-426a-8ede-adf4b2243fd9">2,457</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">Cash beginning of period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMjMtMS0xLTEtMTA1OTk0_b453a323-6bb4-4176-9e17-66436593d1bf">52</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9d29fd435d4542aa8f23d9515714b4a6_I20211231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMjMtMy0xLTEtMTA1OTk0_aed2c20f-58e2-4f5e-a647-74b8de8c705d">2,682</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">Cash end of period</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMjQtMS0xLTEtMTA1OTk0_1e8629f0-9ec2-4b00-893f-b6f45a19e7d7">301</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i466b5761fcc746f6b9e105f3ee815891_I20220331" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMjQtMy0xLTEtMTA1OTk0_103b6350-ac63-4599-a0ef-bded5bc87eaa">225</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these condensed consolidated financial statements.</span></div><div style="text-align:center;text-indent:9pt"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_31"></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><div style="text-align:center"><span><br/></span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_34"></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 1. <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:NatureOfOperations" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8zNC9mcmFnOjdhMTY1YTJkZGI5YzQyMTY4MjYxM2ZjYmMyMWJiYzlhL3RleHRyZWdpb246N2ExNjVhMmRkYjljNDIxNjgyNjEzZmNiYzIxYmJjOWFfMTU1NA_47e147b4-e2fd-469d-b564-846bada01831" continuedAt="ifff1b3a3443b415fa7d406af49114133" escape="true">NATURE OF</ix:nonNumeric></span><ix:continuation id="ifff1b3a3443b415fa7d406af49114133" continuedAt="if8163d8def3948da9b7e75d24af52208"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">OPERATIONS</span></ix:continuation></div><div><span><br/></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="if8163d8def3948da9b7e75d24af52208">Energy Focus, Inc. engages primarily in the design, development, manufacturing, marketing and sale of energy-efficient lighting systems and controls. We develop, market and sell high quality light-emitting diode (&#8220;LED&#8221;) lighting and controls products in the commercial market and military maritime market (&#8220;MMM&#8221;), and began to expand our offerings into the consumer market in the fourth quarter of 2021. Our mission is to enable our customers to run their facilities, offices with greater energy efficiency, productivity, and human health and wellness through advanced LED retrofit solutions. Our goal is to be the human wellness lighting and LED technology and market leader for the most demanding applications where performance, quality, value, environmental impact and health are considered paramount. We specialize in LED lighting retrofit by replacing fluorescent, high-intensity discharge lighting and other types of lamps in institutional buildings for primarily indoor lighting applications with our innovative, high-quality commercial and military-grade tubular LED (&#8220;TLED&#8221;) products, as well as other LED and lighting control products for commercial and consumer applications. We are also evaluating adjacent technologies, including Gallium Nitride (&#8220;GaN&#8221;) based power supplies and additional market opportunities for energy solution products that support sustainability in our existing channels.</ix:continuation></span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_40"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 2.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyNDc_45ad3e5d-0efa-48b8-9fdd-e14b964a86ab" continuedAt="ib0722a1eebfd4a98b7d578b973dcbe6b" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">BASIS OF PRESENTATION AND</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</span></ix:nonNumeric></div><ix:continuation id="ib0722a1eebfd4a98b7d578b973dcbe6b" continuedAt="i4ff3530be3164581ae17f13682dc1b78"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyMzM_5cacbdd7-1583-47ed-8228-7b4ffb7d3df7" continuedAt="ia18f95a0e4ea4961948298eaeb506950" escape="true"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of presentation</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The significant accounting policies of our Company, which are summarized below, are consistent with accounting principles generally accepted in the United States (&#8220;U.S. GAAP&#8221;) and reflect practices appropriate to the business in which we operate. Unless indicated otherwise, the information in the Notes to the Consolidated Financial Statements relates to our operations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have prepared the accompanying financial data for the three months ended March&#160;31, 2023 and 2022 pursuant to the rules and regulations of the United States Securities and Exchange Commission. Certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The accompanying financial data and information should be read in conjunction with our Annual Report on Form 10-K for the year ended December&#160;31, 2022 (&#8220;2022 Annual Report&#8221;). The Condensed Consolidated Balance Sheet as of December&#160;31, 2022 has been derived from the audited consolidated financial statements at that date but does not include all of the information and footnotes required by U.S. GAAP for complete financial statements.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the opinion of management, the accompanying condensed consolidated financial statements contain all normal and recurring adjustments necessary to present fairly our Condensed Consolidated Balance Sheets as of March&#160;31, 2023 and December&#160;31, 2022, Condensed Consolidated Statements of Operations for the three months ended March&#160;31, 2023 and 2022, Condensed Consolidated Statements of Changes in Stockholders&#8217; Equity for the three months ended March&#160;31, 2023 and 2022, and Condensed Consolidated Statements of Cash Flows for the three months ended March&#160;31, 2023 and 2022.</span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><ix:continuation id="i4ff3530be3164581ae17f13682dc1b78" continuedAt="ibe24efbbfbc44f36ac539d4e9ea852d2"><ix:continuation id="ia18f95a0e4ea4961948298eaeb506950" continuedAt="ie4e3ef13739f4dcd9d49b321a85867c0"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Going Concern and Nasdaq Continued Listing Requirements Compliance</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due to our financial performance as of March&#160;31, 2023 and December&#160;31, 2022, including net losses of $<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-5" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTE1NDQ4NzIxNjc4NTU_235149b1-c32c-4b54-b8e5-6fded6e33621">1.3</ix:nonFraction> million  for the three months ended March 31, 2023 and $<ix:nonFraction unitRef="usd" contextRef="if7e4573e94e04bfe8d334617676c042e_D20220101-20221231" decimals="-5" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY3MTQwOQ_0d48eab8-c6b9-4c43-9e85-4c91bfc081b1">10.3</ix:nonFraction> million for the twelve months ended December 31, 2022, and total cash used in operating activities of  $<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-5" sign="-" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTE1NDQ4NzIxNjc4NDk_bec35729-4e93-45ae-915a-0abd10997f30">1.2</ix:nonFraction> million for the three months ended March 31, 2023 and $<ix:nonFraction unitRef="usd" contextRef="if7e4573e94e04bfe8d334617676c042e_D20220101-20221231" decimals="-5" sign="-" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY3MTQxMw_60181795-3576-41b0-be8d-09852040f915">6.7</ix:nonFraction> million for the twelve months ended December 31, 2022, we determined that substantial doubt about our ability to continue as a going concern continues to exist at March&#160;31, 2023. As a result of restructuring actions and initiatives, we have tailored our operating expenses to be more in line with our expected sales volumes; however, we continue to incur losses and have a substantial accumulated deficit.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, global supply chain and logistics constraints are impacting our inventory purchasing strategy, as we seek to manage both shortages of available components and longer lead times in obtaining components while balancing the development and implementation of an inventory reduction plan. Disruptions in global logistics networks are also impacting our lead times and ability to efficiently and cost-effectively transport products from our third-party suppliers to our facility. As a result, we will continue to review and pursue selected external funding sources to ensure adequate financial resources to execute across the timelines required to achieve these objectives including, but not limited to, the following:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining financing from traditional or non-traditional investment capital organizations or individuals; </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining funding from the sale of our common stock or other equity or debt instruments; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining debt financing with lending terms that more closely match our business model and capital needs.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There can be no assurance that we will obtain funding on acceptable terms, in a timely fashion, or at all. Obtaining additional funding contains risks, including:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">additional equity financing may not be available to us on satisfactory terms, particularly in light of the current price of our common stock, and any equity we are able to issue could lead to dilution for current stockholders and have rights, preferences and privileges senior to our common stock;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">loans or other debt instruments may have terms or conditions, such as interest rate, restrictive covenants, conversion features, refinancing demands, and control or revocation provisions, which are not acceptable to management or the Company&#8217;s Board of Directors (the &#8220;Board of Directors&#8221;); and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the current environment in the capital markets and volatile interest rates, combined with our capital constraints, may prevent us from being able to obtain adequate debt financing.</span></div><div style="margin-bottom:10pt;padding-left:2.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Along with the new additions to the Board of Directors, we hired a permanent Chief Executive Officer in September 2022, following a period of interim leadership by our current Lead Independent Director after the departure of our previous Chief Executive Officer in February 2022 and Chief Financial Officer and Chief Operating Officer in May 2022.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Considering both quantitative and qualitative information, we continue to believe that the combination of our plans to ensure adequate external funding, timely re-organizational actions, current financial position, liquid resources, obligations due or anticipated within the next year, development and implementation of an excess inventory reduction plan, plans and initiatives in our research and development, product development and sales and marketing, and development of potential channel partnerships, if adequately executed, could provide us with an ability to finance our operations through the next twelve months and may mitigate the substantial doubt about our ability to continue as a going concern.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our Common Stock is listed on the Nasdaq Capital Market, which has as one of its continued listing requirements a minimum bid price of at least $<ix:nonFraction unitRef="usdPerShare" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="INF" name="efoi:CommonStockMinimumBidPrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTY0OTI2NzUyMzUwMg_2b58669e-edec-498a-ae39-fb52dda31874">1.00</ix:nonFraction> per share. Recently our Common Stock has traded significantly below $<ix:nonFraction unitRef="usdPerShare" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="INF" name="efoi:CommonStockTradePricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTY0OTI2NzUyMzUwOQ_136f6516-c76c-4d46-b170-7cbef700252b">1.00</ix:nonFraction> per share. On August 23, 2022, we received a letter from the Listing Qualifications Staff (the &#8220;Staff&#8221;) of The Nasdaq Stock Market notifying us that we were no longer in compliance with the requirement to maintain a minimum closing bid price of $<ix:nonFraction unitRef="usdPerShare" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="INF" name="efoi:CommonStockMinimumBidPrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTY0OTI2NzUyMzUxNg_7fa50415-0573-4561-a4e3-06820c21ff9f">1.00</ix:nonFraction> per share, as set forth in Nasdaq Listing Rule 5550(a)(2) (the &#8220;Bid Price Rule&#8221;), because the closing bid price for our common stock was below the minimum $<ix:nonFraction unitRef="usdPerShare" contextRef="ifec2d4649e0640a483b9734304544c22_I20220823" decimals="2" name="efoi:CommonStockClosingBidPriceThreshold" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY2NTgwNw_eb07addb-7201-4112-9686-2a8add3c1bda">1.00</ix:nonFraction> per share for <ix:nonFraction unitRef="d" contextRef="ifec2d4649e0640a483b9734304544c22_I20220823" decimals="INF" name="efoi:NumberOfConsecutiveDaysForBidPriceBelowThreshold" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY2NTgyNQ_1d73b234-b505-4c44-bd13-cbffc7ad0457">30</ix:nonFraction> consecutive business days. In accordance with Nasdaq Listing Rule 5810(c)(3)(A), we were provided an initial period of 180 calendar days, or until February 20, 2023, to regain compliance with the Bid Price Rule. During the initial compliance period, our Common Stock continued to trade on the Nasdaq Capital Market, but did not satisfy the Bid Price Rule.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November 16, 2022, we received a letter from the Staff notifying us that we were no longer in compliance with Nasdaq Listing Rule 5550(b)(1), which requires listed companies to maintain stockholders&#8217; equity of at least $<ix:nonFraction unitRef="usd" contextRef="ib4c936dd58804d9eb7cae4c8085386ab_I20221116" decimals="-5" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY2NzkyOA_c69d7edc-2ef4-4e2f-8870-258bbca6c713">2.5</ix:nonFraction> million if they do not meet the alternative compliance standards relating to the market value of listed securities or net income from continuing operations (the &#8220;Minimum Stockholders&#8217; Equity Rule&#8221;). Our Form 10-Q for the Quarterly Period Ended September 30, </span></div></ix:continuation></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><ix:continuation id="ibe24efbbfbc44f36ac539d4e9ea852d2" continuedAt="i9bdf3e7b142e410bba715c4797e94c72"><ix:continuation id="ie4e3ef13739f4dcd9d49b321a85867c0"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022 filed on November 10, 2022 reflected that our stockholders&#8217; equity as of September 30, 2022 was $<ix:nonFraction unitRef="usd" contextRef="i55ef4398e21f4f6dbfd5e88b0cae0545_I20220930" decimals="-5" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY2ODI4Mw_9fc1a09f-3b71-4544-89ea-9a1682e45224">1.5</ix:nonFraction> million. Based on our timely submission of our plan to regain compliance (the &#8220;Plan&#8221;), Nasdaq granted us an extension through May 15, 2023 to regain compliance with the Minimum Stockholders&#8217; Equity Rule.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 21, 2023, we received written notification (the &#8220;Bid Price Notification&#8221;) from the Staff stating that we had not regained compliance with the Bid Price Rule and our common stock is subject to delisting from Nasdaq. On February 24, 2023, we submitted a request for a hearing before the Nasdaq Hearings Panel (the &#8220;Panel&#8221;) to appeal the delisting (the &#8220;Appeal&#8221;).  Under Nasdaq rules, the delisting of the Company&#8217;s common stock was stayed during the pendency of the Appeal and, during such time, the Company&#8217;s common stock continued to be listed on Nasdaq.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 28, 2023, the Company received written notification (the &#8220;Additional Staff Determination&#8221;) from the Staff stating that (i) following the Bid Price Notification, and in accordance with Listing Rule 5810(c)(2)(A), Nasdaq is no longer permitted to consider the stockholders&#8217; equity compliance plan, (ii) the Additional Staff Determination serves as an additional basis for delisting the Company&#8217;s common stock from Nasdaq and (iii) the Panel will consider the Additional Staff Determination in rendering a determination regarding the continued listing of the Company&#8217;s common stock on Nasdaq.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April 6, 2023, the Company participated in the Appeal before the Panel. The Company provided an update to the Panel on the Company&#8217;s substantial progress made towards the previously submitted Stockholders&#8217; Equity Requirement Plan during the three months ended March 31, 2023, and requested the Panel grant the Company an exception to (1) re-allow the previously granted exception until May 15, 2023 for the Company to regain compliance with the Stockholders&#8217; Equity Requirement and (2) grant an exception allowing the Company up to 180 days following the Bid Price Notification to regain compliance with the Bid Price Requirement by effecting a reverse stock split following stockholder approval at the Annual Meeting. On May 1, 2023, the Panel granted the Company&#8217;s request to continue the Company&#8217;s listing on Nasdaq, subject to the following conditions: (1) on or before May 15, 2023, the Company shall file with the SEC its quarterly report for the three months ended March 31, 2023 demonstrating compliance with the Stockholders&#8217; Equity Requirement and (2) on or before July 7, 2023, the Company shall demonstrate compliance with the Bid Price Rule. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of the date of this Quarterly Report, the Company believes it has regained compliance with the Stockholders&#8217; Equity Requirement for continued listing on the Nasdaq Capital Market. However, there can be no assurance that the Appeal will be successful or that the Company will be able to regain compliance with the Bid Price Rule or maintain compliance with the Stockholders&#8217; Equity Requirement, Bid Price Rule, or other Nasdaq listing requirements. If the Company fails to regain compliance with Nasdaq&#8217;s continued listing standards in accordance with the Panel&#8217;s decision, the Company&#8217;s common stock will be subject to delisting from Nasdaq.</span></div></ix:continuation><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:UseOfEstimates" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyMjE_d4214752-9178-4c91-907d-452f753e9a2a" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Use of estimates</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in accordance with U.S. GAAP requires management to make estimates and assumptions that affect the amounts reported in our financial statements and accompanying notes. Management bases its estimates on historical experience and various other assumptions believed to be reasonable. Although these estimates are based on management&#8217;s best knowledge of current events and actions that may impact us in the future, actual results may vary from the estimates. Estimates include, but are not limited to, the establishment of reserves for accounts receivable, sales returns, inventory obsolescence and warranty claims; the useful lives of property and equipment; valuation allowance for net deferred taxes; and stock-based compensation. The Company began using estimates for its calculation of impairment to accounts receivable under Accounting Standards Codification (&#8220;ASC&#8221;) 326 commencing in 2023. In addition, estimates and assumptions associated with the determination of the fair value of financial instruments and evaluation of long-lived assets for impairment requires considerable judgment. Actual results could differ from those estimates and such differences could be material.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyNDA_1aef8ad0-ab0b-4dab-90f5-a40aa18c399d" continuedAt="i5a7e05b25cfe47c4bd794f962a4f92c9" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales include revenues from sales of products and shipping and handling charges, net of estimates for product returns. Revenue is measured at the amount of consideration we expect to receive in exchange for the transferred products. We recognize revenue at the point in time when we transfer the promised products to the customer and the customer obtains control over the products. Distributors&#8217; obligations to us are not contingent upon the resale of our products. We recognize revenue for shipping and handling charges at the time the goods are shipped to the customer, and the costs of outbound freight are included in cost of sales. We provide for product returns based on historical return rates. While we incur costs for </span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><ix:continuation id="i9bdf3e7b142e410bba715c4797e94c72" continuedAt="if47ad161e3824498abe4ce0edcf7da9a"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i5a7e05b25cfe47c4bd794f962a4f92c9">sales commissions to our sales employees and outside agents, we recognize commission costs concurrent with the related revenue, as the amortization period is less than one year. We do not incur any other incremental costs to obtain contracts with our customers. Our product warranties are assurance-type warranties, which promise the customer that the products are as specified in the contract. Therefore, the product warranties are not a separate performance obligation and are accounted for as described below. Sales taxes assessed by governmental authorities are accounted for on a net basis and are excluded from net sales.</ix:continuation></span></div><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyNjQ_81c7ad60-543b-40f1-a1ec-4d22d8f1a6aa" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides a disaggregation of product net sales for the periods presented (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:63.614%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.167%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.169%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net sales:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ibe30b06375714179a1b95677450c759e_D20230101-20230331" decimals="-3" name="us-gaap:Revenues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjUwZWRhMmQ0N2NiMjRmNzQ5NzNhOTUzOTZlYTM3NjBiL3RhYmxlcmFuZ2U6NTBlZGEyZDQ3Y2IyNGY3NDk3M2E5NTM5NmVhMzc2MGJfMy0xLTEtMS0xMDU5OTQ_077ab50c-1f5d-4f1c-ad8f-584ce6d0c336">321</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i94e82c1ff6b8490dbbdcca8eebcda244_D20220101-20220331" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjUwZWRhMmQ0N2NiMjRmNzQ5NzNhOTUzOTZlYTM3NjBiL3RhYmxlcmFuZ2U6NTBlZGEyZDQ3Y2IyNGY3NDk3M2E5NTM5NmVhMzc2MGJfMy0zLTEtMS0xMDU5OTQ_cc9452a9-afaf-420b-8cce-fa8077d5b4ab">1,134</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MMM products</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i499a295ec2a245e2a185ccf3c2025c30_D20230101-20230331" decimals="-3" name="us-gaap:Revenues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjUwZWRhMmQ0N2NiMjRmNzQ5NzNhOTUzOTZlYTM3NjBiL3RhYmxlcmFuZ2U6NTBlZGEyZDQ3Y2IyNGY3NDk3M2E5NTM5NmVhMzc2MGJfNC0xLTEtMS0xMDU5OTQ_acef96e0-b1eb-43d8-b1cb-12aee0216b84">609</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7370aef696994b87a86ab293a9fdbb9b_D20220101-20220331" decimals="-3" name="us-gaap:Revenues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjUwZWRhMmQ0N2NiMjRmNzQ5NzNhOTUzOTZlYTM3NjBiL3RhYmxlcmFuZ2U6NTBlZGEyZDQ3Y2IyNGY3NDk3M2E5NTM5NmVhMzc2MGJfNC0zLTEtMS0xMDU5OTQ_2d8d8dbc-5bbf-4bcf-b678-150751a04bd4">927</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total net sales</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:Revenues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjUwZWRhMmQ0N2NiMjRmNzQ5NzNhOTUzOTZlYTM3NjBiL3RhYmxlcmFuZ2U6NTBlZGEyZDQ3Y2IyNGY3NDk3M2E5NTM5NmVhMzc2MGJfNS0xLTEtMS0xMDU5OTQ_1707eb86-1554-4738-b8e1-5048a3ee3444">930</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjUwZWRhMmQ0N2NiMjRmNzQ5NzNhOTUzOTZlYTM3NjBiL3RhYmxlcmFuZ2U6NTBlZGEyZDQ3Y2IyNGY3NDk3M2E5NTM5NmVhMzc2MGJfNS0zLTEtMS0xMDU5OTQ_f19342ce-2abb-47a8-a1a6-7f0125ef0415">2,061</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:TradeAndOtherAccountsReceivablePolicy" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyNDI_e495b25b-1567-4bfa-b92b-9a24baf10def" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accounts Receivable</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our trade accounts receivable consists of amounts billed to and currently due from customers. Our customers are concentrated in the United States. In the normal course of business, we extend unsecured credit to our customers related to the sale of our products. Credit is extended to customers based on an evaluation of the customer&#8217;s financial condition and the amounts due are stated at their estimated net realizable value. We maintain allowances for sales returns and doubtful accounts receivable to provide for the estimated number of account receivables that will not be collected. The allowance is based on an assessment of forward looking customer credit-worthiness and historical payment experience, the age of outstanding receivables, and performance guarantees to the extent applicable. Past due amounts are written off when our internal collection efforts have been unsuccessful, and payments subsequently received on such receivables are credited to the allowance for doubtful accounts. We do not generally require collateral from our customers.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our standard payment terms with customers are net <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="efoi:ContractWithCustomerPaymentTerms" format="ixt-sec:durday" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMjE5OTAyMzMxMTM0NA_2b2b0be0-4619-4feb-897f-d392b81becc8">30</ix:nonNumeric> days from the date of shipment, and we do not generally offer extended payment terms to our customers, but exceptions are made in some cases for major customers or with particular orders. Accordingly, we do not adjust trade accounts receivable for the effects of financing, as we expect the period between the transfer of product to the customer and the receipt of payment from the customer to be in line with our standard payment terms.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Through November 2022, we utilized a third-party account receivable insurance program with a very high credit worthy insurance company where we had the large majority of the accounts receivable arising during the policy term insured with a portion of self-retention. This third party also provided credit-worthiness ratings and metrics that significantly assisted us in evaluating the credit-worthiness of both existing and new customers.  Although the insurance policy is no longer in place, all invoices issued under the previous coverage period are still covered under the policy. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 1, 2023, the Company adopted ASC 326, Measurement of Credit Losses on Financial Instruments (&#8220;CECL&#8221;). The standard adds to U.S. GAAP an impairment model known as the CECL model, which is based on expected losses rather than incurred losses. This standard only impacts the Company&#8217;s trade receivables. The Company decided to use the roll rate method of valuing its reserve for trade receivables. The reserve is based on a careful review of claims made during 2022 against unpaid invoices. This resulted in a $<ix:nonFraction unitRef="usd" contextRef="ib64ba521b5ce47a8a7f8e9f2f474c4b2_I20221231" decimals="-2" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMjE5OTAyMzMzNzQ2MA_542e73d1-a44a-450b-95b5-5cee92516c95">2.6</ix:nonFraction>&#160;thousand adjustment to Retained Earnings as of December 31, 2022 and a charge of $<ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMjE5OTAyMzMzNzQ3NQ_c7497f98-74ee-443d-b35e-d9a26d2252d6">12</ix:nonFraction>&#160;thousand to bad debt expense in the first quarter of 2023.  </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to ASC 606, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue Recognition</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, contract assets and contract liabilities as of the beginning and ending of the reporting periods must be disclosed. <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMjE5OTAyMzMzNzQ4OA_31c3f9ec-6b9f-4494-bec1-82319d4395ac" continuedAt="i0c79bfa3a567413fbd810a5206c47fc4" escape="true">Below is the breakout of the Company&#8217;s contract assets for such periods:</ix:nonNumeric></span></div></ix:nonNumeric></ix:continuation><div><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><ix:continuation id="if47ad161e3824498abe4ce0edcf7da9a" continuedAt="i2e44181b2f20406ba04d0d39a591f178"><div style="margin-bottom:10pt"><ix:continuation id="i0c79bfa3a567413fbd810a5206c47fc4"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.896%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.167%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.167%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.170%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross Accounts Receivable</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfMi0xLTEtMS0xMjI2MDk_6be89d4c-db95-4914-b56d-7a780d7cb605">967</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfMi0zLTEtMS0xMjI2MDk_76fae795-c475-4696-b730-311b6a51cf7a">471</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i466b5761fcc746f6b9e105f3ee815891_I20220331" decimals="-3" name="us-gaap:AccountsReceivableGrossCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfMi01LTEtMS0xMjI2MDk_169387e9-fe94-4038-a028-4b75391c079d">1,337</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Allowance for Doubtful Accounts</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfMy0xLTEtMS0xMjI2MDk_0a8218ed-d2ac-48b9-bb1a-962668536cf4">58</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfMy0zLTEtMS0xMjI2MDk_edd20a6d-c735-46c8-ab85-85876e248a92">26</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i466b5761fcc746f6b9e105f3ee815891_I20220331" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfMy01LTEtMS0xMjI2MDk_73cdea92-6b95-4366-9e5e-f362c280bf27">7</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net Accounts Receivable</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfNC0xLTEtMS0xMjI2MDk_8e6ddafa-31d2-4e14-9908-f82db3b2840b">909</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfNC0zLTEtMS0xMjI2MDk_48651348-cab6-46dd-abce-8c97b05e2806">445</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i466b5761fcc746f6b9e105f3ee815891_I20220331" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfNC01LTEtMS0xMjI2MDk_815388c4-763b-421b-b971-519231f9dabe">1,330</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:continuation></div><div style="margin-bottom:10pt"><span><br/></span></div><div style="margin-bottom:10pt"><span><br/></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Geographic information</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">All of our long-lived fixed assets are located in the United States. For the three months ended March 31, 2023, <ix:nonFraction unitRef="number" contextRef="i9c11afc15b924445b0c0fef98f329885_D20230101-20230331" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfOTQ4OA_d5cf6363-823e-44e9-bb27-1dad522c4751">1</ix:nonFraction>% of sales were attributable to customers outside the United States. For the three months ended March 31, 2022, <ix:nonFraction unitRef="number" contextRef="i5ed882c6d1f749b38fb083fbe6841fe2_D20220101-20220331" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMjE5OTAyMzMxMTM2MA_45d2064c-5a8c-4b27-bd22-08e645cb9e1d">2</ix:nonFraction>% of sales were attributable to customers outside the United States. The geographic location of our net sales is derived from the destination to which we ship the product.</span></div><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:EarningsPerSharePolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyMDI_6729a25b-0d1b-4ca5-8645-cfa94c8026a4" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net loss per share </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic loss per share is computed by dividing net loss available to common stockholders by the weighted average number of shares of common stock outstanding during the period, excluding the effects of any potentially dilutive securities. Diluted loss per share gives effect to all dilutive potential shares of common stock outstanding during the period. Dilutive potential shares of common stock consist of incremental shares upon the exercise of stock options, warrants and convertible securities, unless the effect would be anti-dilutive.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyMzY_2d092041-99b1-4249-82fc-ecf644dd3465" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a reconciliation of basic and diluted loss per share computations (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:63.314%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.167%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.851%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.168%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjAwODc4YjViYmY2MTQwYWJiYWQ2YzBmMjc3NGM4NTc0L3RhYmxlcmFuZ2U6MDA4NzhiNWJiZjYxNDBhYmJhZDZjMGYyNzc0Yzg1NzRfMy0xLTEtMS0xMDU5OTQ_96d36e01-0a05-426f-ba2f-b1f67900724b">1,333</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjAwODc4YjViYmY2MTQwYWJiYWQ2YzBmMjc3NGM4NTc0L3RhYmxlcmFuZ2U6MDA4NzhiNWJiZjYxNDBhYmJhZDZjMGYyNzc0Yzg1NzRfMy0zLTEtMS0xMDU5OTQ_988e6a80-6371-4a27-8c42-4c76668fd2ea">2,821</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic and diluted weighted average shares of common stock outstanding </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjAwODc4YjViYmY2MTQwYWJiYWQ2YzBmMjc3NGM4NTc0L3RhYmxlcmFuZ2U6MDA4NzhiNWJiZjYxNDBhYmJhZDZjMGYyNzc0Yzg1NzRfNi0xLTEtMS0xMDU5OTQ_13c9b42a-2688-4cd1-8f08-f7173178e7c3"><ix:nonFraction unitRef="shares" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjAwODc4YjViYmY2MTQwYWJiYWQ2YzBmMjc3NGM4NTc0L3RhYmxlcmFuZ2U6MDA4NzhiNWJiZjYxNDBhYmJhZDZjMGYyNzc0Yzg1NzRfNi0xLTEtMS0xMDU5OTQ_5fc9ebfe-5a1b-45f0-8048-fa1d5ebe28f4">16,172</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjAwODc4YjViYmY2MTQwYWJiYWQ2YzBmMjc3NGM4NTc0L3RhYmxlcmFuZ2U6MDA4NzhiNWJiZjYxNDBhYmJhZDZjMGYyNzc0Yzg1NzRfNi0zLTEtMS0xMDU5OTQ_b190cae0-9306-4955-885a-a7b7dc656c1f"><ix:nonFraction unitRef="shares" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjAwODc4YjViYmY2MTQwYWJiYWQ2YzBmMjc3NGM4NTc0L3RhYmxlcmFuZ2U6MDA4NzhiNWJiZjYxNDBhYmJhZDZjMGYyNzc0Yzg1NzRfNi0zLTEtMS0xMDU5OTQ_efa49903-e9d1-4d60-a73e-e6b68d5956a7">6,437</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the net loss we incurred for the three months ended March 31, 2023, convertible securities representing approximately <ix:nonFraction unitRef="shares" contextRef="id264de05f365449d9f7a9f3df99e34f3_D20230101-20230331" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA1NTQ_42164650-a4eb-43de-aa78-2bce5df35d26">175</ix:nonFraction>&#160;thousand shares of common stock were excluded from the basic loss per share calculation because their inclusion would have been anti-dilutive. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the net loss we incurred for the three months ended March 31, 2022, warrants and convertible securities representing approximately <ix:nonFraction unitRef="shares" contextRef="ibc1ea603e2574aa0af909464e538343c_D20220101-20220331" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MTU1MA_837aaeb7-ba66-4615-882e-c2e2799cbbd3">16</ix:nonFraction>&#160;thousand and <ix:nonFraction unitRef="shares" contextRef="i66ce3809cdd748ea8963b144b7adce1d_D20220101-20220331" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTE1NDQ4NzIxNjc4NjQ_9f3b6629-a21a-4218-bacf-1ea69646175e">175</ix:nonFraction>&#160;thousand shares of common stock, respectively, were excluded from the basic loss per share calculation because their inclusion would have been anti-dilutive. </span></div><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:StandardProductWarrantyPolicy" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyMzc_ccde315b-e549-4965-81da-632c14ce9915" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Product warranties</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We warrant our commercial and MMM LED products and controls for periods generally ranging from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAxNg_16e1c2b7-1b11-4993-a4ef-f853eb7486b6"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAxNg_5f339c5e-7af8-42cc-a026-46659e81cb9d">five</span></span> to <ix:nonNumeric contextRef="iabb8d8bbb108485e83e87af3006c33cc_D20230101-20230331" name="efoi:StandardProductWarrantyNumberofYears" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAyMw_045c4584-cc4c-4066-bbb9-bda1bd766ec6"><ix:nonNumeric contextRef="i4aeeb86dd6994242bc366752d38a3e04_D20230101-20230331" name="efoi:StandardProductWarrantyNumberofYears" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAyMw_466276b4-6de4-4937-9c4b-05341a2bcd08">ten years</ix:nonNumeric></ix:nonNumeric>. Warranty settlement costs consist of actual amounts expensed for warranty, which are largely a result of the cost of replacement products or rework services provided to our customers. A liability for the estimated future costs under product warranties is maintained for products under warranty based on the actual claims incurred to date and the estimated nature, frequency, and costs of future claims. As warranty coverage from prior period sales expire, previous accruals are released.  These estimates are inherently uncertain and changes to our historical or projected experience may cause material changes to our warranty reserves in the future. We continuously review the assumptions related to the adequacy of our warranty reserve, including product failure rates, and make adjustments to the existing warranty liability when there are changes to these estimates or the underlying replacement product costs, or the warranty period expires.</span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><ix:continuation id="i2e44181b2f20406ba04d0d39a591f178" continuedAt="i20747889d1c84fbfa6d2b8542bb581cd"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyMDQ_0fe01250-53f9-4388-ac1f-7ce6e5afcef4" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes warranty activity for the periods presented (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:63.614%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:16.167%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.169%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at beginning of period</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfMi01LTEtMS0xMDU5OTQ_522d54d0-de8a-4fca-b297-0cf1088ecebd">183</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9d29fd435d4542aa8f23d9515714b4a6_I20211231" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfMi03LTEtMS0xMDU5OTQ_9fb7ae88-afc5-4fe4-8ecd-ae850022cd16">295</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Warranty accruals for current period sales</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:StandardProductWarrantyAccrualWarrantiesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfMy01LTEtMS0xMDU5OTQ_96fafa67-b74c-4e1f-95e6-0762e2648457">1</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:StandardProductWarrantyAccrualWarrantiesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfMy03LTEtMS0xMDU5OTQ_e16749f0-0bfa-42b2-bd1e-3979b419f45f">1</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustments to existing warranties</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" sign="-" name="us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfNC01LTEtMS0xMDU5OTQ_9405068f-6398-45e7-bece-855302f29ebf">39</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfNC03LTEtMS0xMDU5OTQ_0ee7db08-282b-40e1-b9ed-03fb951ce3d7">15</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">In kind settlements made during the period</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualPayments" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfNS01LTEtMS0xMDU5OTQ_7f9472ad-0686-48a8-8ce7-4a8317d2b0f3">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualPayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfNS03LTEtMS0xMDU5OTQ_05b35b82-e2a0-4c70-b068-f9f1d36f0d88">14</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accrued warranty reserve at end of period</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfNi01LTEtMS0xMDU5OTQ_cc780ec8-50f1-4653-a811-69062b56c428">143</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i466b5761fcc746f6b9e105f3ee815891_I20220331" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfNi03LTEtMS0xMDU5OTQ_66d8d4de-d152-41fe-9679-c31c8482dba4">265</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:FairValueOfFinancialInstrumentsPolicy" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyMTM_0241bfe5-cabe-4a16-9719-f0736aa7d1a1" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Instruments</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair Value Measurements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value hierarchy prioritizes the inputs to valuation techniques used to measure fair value, giving the highest priority to unadjusted quoted prices in active markets for identical assets or liabilities (Level 1 measurements) and the lowest priority to unobservable inputs (Level 3 measurements). The three levels of the fair value hierarchy are described below. We classify the inputs used to measure fair value into the following hierarchy:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:8.509%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.291%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unadjusted quoted prices in active markets for identical assets or liabilities.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 2</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unadjusted quoted prices in active markets for similar assets or liabilities, or unadjusted quoted prices for identical or similar assets or liabilities in markets that are not active, or inputs other than quoted prices that are observable for the asset or liability.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 3</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unobservable inputs for the asset or liability.</span></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying amounts of certain financial instruments including cash, accounts receivable, accounts payable, and accrued liabilities approximate fair value due to their short maturities. Based on borrowing rates currently available to us for loans with similar terms, the carrying value of borrowings under our revolving credit facilities also approximates fair value.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A financial instrument&#8217;s level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. In determining the appropriate levels, we perform a detailed analysis of the assets and liabilities whose fair value is measured on a recurring basis. We review and reassess the fair value hierarchy classifications on a quarterly basis. Changes from one quarter to the next related to the observability of inputs in a fair value measurement may result in a reclassification between fair value hierarchy levels. There were no reclassifications for all periods presented.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:ConcentrationRiskCreditRisk" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMjE5OTAyMzMxMTMyNQ_7c1b7eb0-5903-404a-b548-cab282570092" continuedAt="i1b16069fd6714b2687e02850164d5914" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Certain risks and concentrations</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have certain customers whose net sales individually represented 10% or more of our total net sales, or whose net trade accounts receivable balance individually represented 10% or more of our total net trade accounts receivable; we have certain suppliers, which individually represent 10% or more of our total purchases, or whose trade accounts payable balance individually represented 10% or more of our total trade accounts payable balance, as follows:</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended March 31, 2023, sales to our primary distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a distributor to the U.S. Department of Defense, accounted for approximately <ix:nonFraction unitRef="number" contextRef="i39533d5a86274d87aa89cc005a86befc_D20230101-20230331" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY0ODc1NQ_5a1908d1-e5ce-4360-9eff-5669b1aa8b92">22</ix:nonFraction>%, <ix:nonFraction unitRef="number" contextRef="id7d941fcb5454139b313fdac8d88b7be_D20230101-20230331" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfNTQ5NzU1ODc5ODEz_8c789f0a-76bd-493c-a782-484f9aff81ab">27</ix:nonFraction>%, and <ix:nonFraction unitRef="number" contextRef="ia3d9865baf0a4b769020a2aad7da602f_D20230101-20230331" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfNTQ5NzU1ODc5ODE3_b7f6e861-ec86-436b-a3fa-4fd99f061967">11</ix:nonFraction>% of net sales, respectively. When sales for our top military customers are combined, total net sales of military products comprised approximately <ix:nonFraction unitRef="number" contextRef="icc1ccca233c64be9a50b97b050b34491_D20230101-20230331" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY0ODk4Ng_3bdf07f7-7c28-4c64-9b68-fe55d7bf4fb2">49</ix:nonFraction>% of net sales for the same period. For the three months ended March 31, 2022, sales to our primary distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a commercial building systems provider, accounted for approximately <ix:nonFraction unitRef="number" contextRef="i258f02ddd14c41c4b837ac28fa3fe00e_D20220101-20220331" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY0OTE2OA_b4df0206-e52a-4ce8-b439-445dce843e09">15</ix:nonFraction>%, <ix:nonFraction unitRef="number" contextRef="i70e02c73234b4f81923806790a5014e4_D20220101-20220331" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTE1NDQ4NzIxNjc5NzM_a298a538-869d-4429-8703-a677722af775">21</ix:nonFraction>%, and <ix:nonFraction unitRef="number" contextRef="i249fc231ec704ffaad85618a8bbb5fb7_D20220101-20220331" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTE1NDQ4NzIxNjc5Nzg_7262e6ef-7fe7-4403-9400-86fdd2376c40">19</ix:nonFraction>% of net sales, respectively. When sales to our primary distributor for the U.S. Navy are combined with sales to shipbuilders for the U.S. Navy, total net sales of products for the U.S. Navy comprised approximately <ix:nonFraction unitRef="number" contextRef="ia7aec294cb2242e990cb4d96cb83dca2_D20220101-20220331" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfNTQ5NzU1ODk2MzA2_505496f4-1414-4373-88b2-4a113dc9b942">37</ix:nonFraction>% of net sales for the same period.</span></div></ix:nonNumeric></ix:continuation><div><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><ix:continuation id="i20747889d1c84fbfa6d2b8542bb581cd"><ix:continuation id="i1b16069fd6714b2687e02850164d5914" continuedAt="ib826308689794e33b9a1d510aec0bda4"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a distributor to the U.S. Department of Defense, accounted for approximately <ix:nonFraction unitRef="number" contextRef="i8f10f3c585784b5a820d34645788da0e_D20230101-20230331" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfNTQ5NzU1ODgwNjA4_0287bb81-eda6-4940-a9bf-ad9ad36866f9">32</ix:nonFraction>%, <ix:nonFraction unitRef="number" contextRef="i23ef6450019c468d8113a55a16e6dd29_D20230101-20230331" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfNTQ5NzU1ODgwNjEy_a0ea78c0-2371-44ec-819b-9d38af73384c">22</ix:nonFraction>%, and <ix:nonFraction unitRef="number" contextRef="ie37aea4688a4484a8f6d1364a87affe2_D20230101-20230331" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfNTQ5NzU1ODgwNjE2_791de233-2f31-4aa2-8d7d-5835937b5001">17</ix:nonFraction>% of net trade accounts receivable, respectively, at March&#160;31, 2023. At December&#160;31, 2022, a distributor to the U.S. Department of Defense accounted for <ix:nonFraction unitRef="number" contextRef="i3c66925453f84f9aa582618cc0a3cfd3_D20220101-20221231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY0OTcxOQ_89d781cc-f3c9-44e3-b8cf-fc37086a8e36">25</ix:nonFraction>% of our net trade accounts receivable, and when combined with our net trade accounts receivable to shipbuilders for the U.S. Navy, total net accounts receivable related to U.S. Navy sales is <ix:nonFraction unitRef="number" contextRef="ia59ea0b777e948d5adc15aa6b596a3df_D20220101-20221231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY0OTgxMA_6459a30b-f7e0-4b52-bc6a-2a6095376230">30</ix:nonFraction>% of our net trade accounts receivable.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No one supplier accounted for more than <ix:nonFraction unitRef="number" contextRef="iaf48b7ed34e94c57a617794e4f353860_D20230101-20230331" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMjE5OTAyMzMyNTg0MQ_f3b3a135-6d37-4bcf-9cbf-6d8f44b7a502">10</ix:nonFraction>% of our total expenditures for the three months ended March&#160;31, 2023. For the three months ended March 31, 2022, one offshore supplier accounted for approximately <ix:nonFraction unitRef="number" contextRef="i63714b15234c43c1a759b4fff0f51c95_D20220101-20220331" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MDAzMQ_02438309-2c3d-4039-9f92-b53fab9d1da7">19</ix:nonFraction>% of total expenditures.</span></div></ix:continuation><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="ib826308689794e33b9a1d510aec0bda4">At March&#160;31, 2023 and December&#160;31, 2022, one offshore supplier accounted for approximately <ix:nonFraction unitRef="number" contextRef="id53c2d2340f545309dcc3789853755fc_D20220101-20221231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MDExNg_48366954-5dec-4ab6-82c7-4634de369571"><ix:nonFraction unitRef="number" contextRef="i29e048e5bfd14d4f93beab25eb89037c_D20230101-20230331" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MDExNg_d1dcfb3c-c333-40c7-a356-80538fad82a8">36</ix:nonFraction></ix:nonFraction>% of our trade accounts payable balance.</ix:continuation> </span></div><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMjE5OTAyMzMxMTMyNg_47ea4d17-d6ec-4087-bcbf-62606acc4bbd" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recent adopted accounting standard</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the Financial Accounting Standards Board issued Accounting Standard Update No. 2016-13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which significantly changes the accounting for credit losses on instruments within its scope. The new guidance introduces an approach based on expected losses to estimate credit losses on certain financial instruments, including trade receivables, and requires an entity to recognize an allowance based on its estimate of expected credit losses rather than incurred losses. For smaller reporting companies, this standard became effective for interim and annual periods starting after December 15, 2022, and has been adopted by the Company. The adoption of this guidance did not have a material impact on our consolidated financial position or results of operations.</span></div></ix:nonNumeric></ix:continuation><div id="i137ef4de63f24bc79d9040dc6b8448eb_49"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 3. <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:InventoryDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RleHRyZWdpb246YjIxMzhkZDVmOTM4NDBhZjg3ZjU4ZGQxZTFlNjEyNjdfMzU1_60259daa-5a4c-4bc2-8763-e04b0c442ca8" continuedAt="ia1d5718247114ef193332896f08fbdf9" escape="true">INVENTORIES</ix:nonNumeric></span></div><ix:continuation id="ia1d5718247114ef193332896f08fbdf9"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RleHRyZWdpb246YjIxMzhkZDVmOTM4NDBhZjg3ZjU4ZGQxZTFlNjEyNjdfMzU5_a8fcd439-895a-4331-be90-7185c27da7e5" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are stated at the lower of standard cost (which approximates actual cost determined using the first-in, first-out cost method) or net realizable value, and consist of the following (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:63.614%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.167%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.169%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:InventoryRawMaterials" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOjc2NGUzYzFjZTc4YjQ4MWY5MzUzMDVlOGVkNjNhY2UzL3RhYmxlcmFuZ2U6NzY0ZTNjMWNlNzhiNDgxZjkzNTMwNWU4ZWQ2M2FjZTNfMS0xLTEtMS0xMDU5OTQ_4e2bd84d-2936-4344-a042-c43c6f6f73b7">2,936</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:InventoryRawMaterials" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOjc2NGUzYzFjZTc4YjQ4MWY5MzUzMDVlOGVkNjNhY2UzL3RhYmxlcmFuZ2U6NzY0ZTNjMWNlNzhiNDgxZjkzNTMwNWU4ZWQ2M2FjZTNfMS0zLTEtMS0xMDU5OTQ_268172e1-636e-4ebd-a4c0-016b9b4e09fc">3,347</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:InventoryFinishedGoods" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOjc2NGUzYzFjZTc4YjQ4MWY5MzUzMDVlOGVkNjNhY2UzL3RhYmxlcmFuZ2U6NzY0ZTNjMWNlNzhiNDgxZjkzNTMwNWU4ZWQ2M2FjZTNfMi0xLTEtMS0xMDU5OTQ_aad7e7f4-2fcf-46c7-bfab-9441f5351dc2">4,509</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:InventoryFinishedGoods" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOjc2NGUzYzFjZTc4YjQ4MWY5MzUzMDVlOGVkNjNhY2UzL3RhYmxlcmFuZ2U6NzY0ZTNjMWNlNzhiNDgxZjkzNTMwNWU4ZWQ2M2FjZTNfMi0zLTEtMS0xMDU5OTQ_fd900811-7100-4842-8ce4-7df4bcc1c484">4,656</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reserves for excess, obsolete, and slow-moving inventories </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:InventoryValuationReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOjc2NGUzYzFjZTc4YjQ4MWY5MzUzMDVlOGVkNjNhY2UzL3RhYmxlcmFuZ2U6NzY0ZTNjMWNlNzhiNDgxZjkzNTMwNWU4ZWQ2M2FjZTNfMy0xLTEtMS0xMDU5OTQ_92f21226-d9ea-4f07-af86-a2bd30890f43">2,507</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:InventoryValuationReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOjc2NGUzYzFjZTc4YjQ4MWY5MzUzMDVlOGVkNjNhY2UzL3RhYmxlcmFuZ2U6NzY0ZTNjMWNlNzhiNDgxZjkzNTMwNWU4ZWQ2M2FjZTNfMy0zLTEtMS0xMDU5OTQ_6f5c582e-75cd-48ab-acbf-fc254eacfd2b">2,527</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Inventories, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOjc2NGUzYzFjZTc4YjQ4MWY5MzUzMDVlOGVkNjNhY2UzL3RhYmxlcmFuZ2U6NzY0ZTNjMWNlNzhiNDgxZjkzNTMwNWU4ZWQ2M2FjZTNfNC0xLTEtMS0xMDU5OTQ_377a9c4c-241a-4987-8d2d-866ae312a080">4,938</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOjc2NGUzYzFjZTc4YjQ4MWY5MzUzMDVlOGVkNjNhY2UzL3RhYmxlcmFuZ2U6NzY0ZTNjMWNlNzhiNDgxZjkzNTMwNWU4ZWQ2M2FjZTNfNC0zLTEtMS0xMDU5OTQ_04fe797b-7b19-43eb-9520-327cc2ba6bac">5,476</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a roll-forward of the reserves for excess, obsolete, and slow-moving inventories (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:63.764%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:16.167%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.169%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="efoi:InventoryValuationReservesRawMaterials" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOmIwODMzZTcwOTc2NDQzYmQ5MzM1MzYxZDczN2FjNjVjL3RhYmxlcmFuZ2U6YjA4MzNlNzA5NzY0NDNiZDkzMzUzNjFkNzM3YWM2NWNfMi01LTEtMS0xMDU5OTQ_f1961ce7-61cf-4444-aff7-595fe86a9d76">2,527</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9d29fd435d4542aa8f23d9515714b4a6_I20211231" decimals="-3" name="efoi:InventoryValuationReservesRawMaterials" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOmIwODMzZTcwOTc2NDQzYmQ5MzM1MzYxZDczN2FjNjVjL3RhYmxlcmFuZ2U6YjA4MzNlNzA5NzY0NDNiZDkzMzUzNjFkNzM3YWM2NWNfMi03LTEtMS0xMDU5OTQ_d2c1cd19-3f45-40ad-88c3-00e763a38a16">3,050</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrual</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" sign="-" name="efoi:InventoryValuationReservesProvisionAccrual" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOmIwODMzZTcwOTc2NDQzYmQ5MzM1MzYxZDczN2FjNjVjL3RhYmxlcmFuZ2U6YjA4MzNlNzA5NzY0NDNiZDkzMzUzNjFkNzM3YWM2NWNfMy01LTEtMS0xMDU5OTQ_f8776c15-7409-4c1a-9ab1-b064ba51798a">56</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" sign="-" name="efoi:InventoryValuationReservesProvisionAccrual" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOmIwODMzZTcwOTc2NDQzYmQ5MzM1MzYxZDczN2FjNjVjL3RhYmxlcmFuZ2U6YjA4MzNlNzA5NzY0NDNiZDkzMzUzNjFkNzM3YWM2NWNfMy03LTEtMS0xMDU5OTQ_d48d055d-4000-491b-9a4a-94555e7b9925">145</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reduction due to sold inventory</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="efoi:InventoryValuationReservesSalesOfInventory" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOmIwODMzZTcwOTc2NDQzYmQ5MzM1MzYxZDczN2FjNjVjL3RhYmxlcmFuZ2U6YjA4MzNlNzA5NzY0NDNiZDkzMzUzNjFkNzM3YWM2NWNfNC01LTEtMS0xMDU5OTQ_f837077f-f181-4b24-8a26-a469694b35a1">76</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="efoi:InventoryValuationReservesSalesOfInventory" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOmIwODMzZTcwOTc2NDQzYmQ5MzM1MzYxZDczN2FjNjVjL3RhYmxlcmFuZ2U6YjA4MzNlNzA5NzY0NDNiZDkzMzUzNjFkNzM3YWM2NWNfNC03LTEtMS0xMDU5OTQ_65d9fd8b-0546-4fae-a5a1-01865261ed3e">16</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Reserves for excess, obsolete, and slow-moving inventories</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="efoi:InventoryValuationReservesRawMaterials" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOmIwODMzZTcwOTc2NDQzYmQ5MzM1MzYxZDczN2FjNjVjL3RhYmxlcmFuZ2U6YjA4MzNlNzA5NzY0NDNiZDkzMzUzNjFkNzM3YWM2NWNfNi01LTEtMS0xMDU5OTQ_974a3689-088f-4c88-a476-af370734ce57">2,507</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i466b5761fcc746f6b9e105f3ee815891_I20220331" decimals="-3" name="efoi:InventoryValuationReservesRawMaterials" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOmIwODMzZTcwOTc2NDQzYmQ5MzM1MzYxZDczN2FjNjVjL3RhYmxlcmFuZ2U6YjA4MzNlNzA5NzY0NDNiZDkzMzUzNjFkNzM3YWM2NWNfNi03LTEtMS0xMDU5OTQ_abef7e3e-ee0b-42f6-95ea-da43963a2d14">3,179</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_52"></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">4.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RleHRyZWdpb246ZDg2YmFjMzYwMmU0NDY4ODk5M2U3N2Y0MWI4NDJiMWJfMjk5_2c5d43d8-bb7f-4a14-bf88-5d8a55b391be" continuedAt="i98655dc992d541d3858f744b79b4bcc5" escape="true">PROPERTY AND EQUIPMENT</ix:nonNumeric></span></div><ix:continuation id="i98655dc992d541d3858f744b79b4bcc5"><div style="margin-bottom:10pt"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RleHRyZWdpb246ZDg2YmFjMzYwMmU0NDY4ODk5M2U3N2Y0MWI4NDJiMWJfMjk3_f50a7019-9c68-4511-9b93-d9ba0dfcd47f" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost and depreciated using the straight-line method over the estimated useful lives of the related assets and consist of the following (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:63.614%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.167%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.169%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Equipment (useful life <ix:nonNumeric contextRef="iceffaa71abeb460796ab758ddc865e98_D20230101-20230331" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMS0wLTEtMS0xMDU5OTQvdGV4dHJlZ2lvbjpkN2U5Mzk5ZGZjZTc0MWEyYTBlNTU0NTAzMTdmNDQ1Ml8yNw_dfaecd74-2058-4beb-a074-9199934c0926">3</ix:nonNumeric> to <ix:nonNumeric contextRef="ie9e61096539d4cf2be2ad4b561242d2e_D20230101-20230331" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMS0wLTEtMS0xMDU5OTQvdGV4dHJlZ2lvbjpkN2U5Mzk5ZGZjZTc0MWEyYTBlNTU0NTAzMTdmNDQ1Ml8zMw_ae12dbed-c5d8-4512-8449-e367f07d666d">15</ix:nonNumeric> years)</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib49f05a3b2cb4c41b2de428dc836bd6d_I20230331" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMS0xLTEtMS0xMDU5OTQ_bce1df86-ca59-4224-8781-9842b8395226">1,061</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7d19e2e344e2469fa6992944d15d32e3_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMS0zLTEtMS0xMDU5OTQ_c07524a0-14e5-4610-aa9f-aa7fe19a58af">1,061</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tooling (useful life <ix:nonNumeric contextRef="i61de5a6f45cc489ca263c1d6d42dc732_D20230101-20230331" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMi0wLTEtMS0xMDU5OTQvdGV4dHJlZ2lvbjpmMWM5MjdlYzNmMTg0ODBhYjQyY2MxNjk0NWFmYmJhMV8yNQ_c35fabb3-2fe7-45e0-adb2-f8943dcae562">2</ix:nonNumeric> to <ix:nonNumeric contextRef="i23cc924ee69b442595563d20b7cda2eb_D20230101-20230331" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMi0wLTEtMS0xMDU5OTQvdGV4dHJlZ2lvbjpmMWM5MjdlYzNmMTg0ODBhYjQyY2MxNjk0NWFmYmJhMV8zMQ_4fcd813a-53a3-4e6f-bcfa-d4b6ae2dbd69">5</ix:nonNumeric> years)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0bc136c70b924f38a45cb74ca3a3fb90_I20230331" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMi0xLTEtMS0xMDU5OTQ_ea3c0e9a-3408-4ffd-9cdc-ad9fc3f8f535">190</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i048bc115a9004fabafd8e56fefaa435e_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMi0zLTEtMS0xMDU5OTQ_275df411-081b-47c7-914d-012511a1f960">190</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements (the shorter of useful life or lease life)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i18f4f4ba167b46349c55e90e3ad996f1_I20230331" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfNi0xLTEtMS0xMDU5OTQ_eb895687-820a-402c-bc39-e36b78ddbdf5">141</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie338435ef0114aa79de9ef679ecd95bc_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfNi0zLTEtMS0xMDU5OTQ_baee6405-14bf-42fa-9bd7-62d53762e01e">141</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Property and equipment at cost</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMTAtMS0xLTEtMTA1OTk0_e0bcf1d8-d87c-4b12-a213-44a4f888c9a9">1,392</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMTAtMy0xLTEtMTA1OTk0_eaf940bc-91da-43d0-a956-5bbaf5871a10">1,392</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMTEtMS0xLTEtMTA1OTk0_fc784b60-5fc9-49f4-a93a-151a1a85d0ad">1,324</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMTEtMy0xLTEtMTA1OTk0_f738bf6d-9797-495d-a273-b0c84f97bc1e">1,316</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Property and equipment, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMTItMS0xLTEtMTA1OTk0_71f2a74f-e8f0-4eb6-b33e-6cdd6010e3fd">68</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMTItMy0xLTEtMTA1OTk0_945e81f6-12e3-4fec-878c-25165163943f">76</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense was $<ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RleHRyZWdpb246ZDg2YmFjMzYwMmU0NDY4ODk5M2U3N2Y0MWI4NDJiMWJfMjUw_83f9ad89-a414-4b67-8e22-b1eaa26456c1">8</ix:nonFraction>&#160;thousand and $<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RleHRyZWdpb246ZDg2YmFjMzYwMmU0NDY4ODk5M2U3N2Y0MWI4NDJiMWJfMjU3_a1bd7851-699e-4348-a242-1ed8dc332597">44</ix:nonFraction>&#160;thousand for the three months ended March 31, 2023 and 2022, respectively.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_55"></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 5. <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:LesseeFinanceLeasesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMzg4Mg_4abed870-7f2f-47c6-b62f-47d6e04d54b4" continuedAt="id076cbb636dc438890379e4b0a2875d9" escape="true"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:LesseeOperatingLeasesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMzg4Mg_581fbbef-ecd1-40c2-9f89-91eda5c952b1" continuedAt="if96b1720ce4e4dba97e3c5e594696037" escape="true">LEASES</ix:nonNumeric></ix:nonNumeric></span></div><ix:continuation id="id076cbb636dc438890379e4b0a2875d9" continuedAt="i29177f97a14e49818df623e9f1a15270"><ix:continuation id="if96b1720ce4e4dba97e3c5e594696037" continuedAt="i9f5b1d68d8c14fd7adb6b0ec7a8fe725"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases certain equipment, manufacturing, warehouse and office space under non-cancellable operating leases with expirations through 2027 under which it is responsible for related maintenance, taxes and insurance. The Company had one finance lease on a forklift containing a bargain purchase option, which was exercised in July 2022. As of March 25, 2022, the terms of our real estate operating lease have been modified beginning July 1, 2022 and extended through 2027. In accordance with ASC 842, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (&#8220;Topic 842&#8221;), the related lease liability was remeasured and the right-of-use asset was adjusted for each lease at the time of modification. The present value of the lease obligations for the lease was calculated using an incremental borrowing rate of <ix:nonFraction unitRef="number" contextRef="idad41e308b924225b8004097bbd85c14_I20230331" decimals="4" name="efoi:LesseeOperatingLeaseInterestRateEffectiveRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMTI4Nw_7a950d15-0319-424f-9dc7-f8d75e6ff8d4">16.96</ix:nonFraction>%, which was the Company&#8217;s blended borrowing rates (including interest, annual facility fees, collateral management fees, bank fees and other miscellaneous lender fees) on its revolving lines of credit with Crossroads Financial Group, LLC (as described below in Note 6, &#8220;Debt&#8221;) and Factors Southwest L.L.C. (as described below in Note 6, &#8220;Debt&#8221;). The present value of the other remaining lease obligations continues to be calculated using an incremental borrowing rate of <ix:nonFraction unitRef="number" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="4" name="us-gaap:LesseeOperatingLeaseDiscountRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMTc4Nw_c66ced08-3c82-4add-a9a8-360b7e79cbb6">7.25</ix:nonFraction>% (which excludes the annual facility fee and other lender fees), which was the Company&#8217;s borrowing rate on its former revolving line of credit with Austin Financial Services, Inc. (the &#8220;Austin Credit Facility&#8221;). The weighted average remaining lease term for operating leases is <ix:nonNumeric contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMjA3OQ_dec60cdd-ba2a-4262-a688-915ccfed80f2">4.2</ix:nonNumeric> years.</span></div><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:LeaseCostTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMzg3Ng_dfc2067c-72ce-483f-984c-1d1a9ad6b073" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of the operating lease costs recognized in net loss were as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:63.314%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:16.167%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.851%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.168%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended March 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating lease cost (income)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sub-lease income</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:SubleaseIncome" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjc0NWIxMjRhYmU5MjQ1NWM4MTAyZTQ3ZDRiZTIxMThiL3RhYmxlcmFuZ2U6NzQ1YjEyNGFiZTkyNDU1YzgxMDJlNDdkNGJlMjExOGJfMy01LTEtMS0xMDU5OTQ_9f61dee8-f7af-44b2-a8c7-8c5cd87b9ee1">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:SubleaseIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjc0NWIxMjRhYmU5MjQ1NWM4MTAyZTQ3ZDRiZTIxMThiL3RhYmxlcmFuZ2U6NzQ1YjEyNGFiZTkyNDU1YzgxMDJlNDdkNGJlMjExOGJfMy03LTEtMS0xMDU5OTQ_2682b2d8-fed8-4aeb-99e8-ae48522baae3">25</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease cost</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:OperatingLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjc0NWIxMjRhYmU5MjQ1NWM4MTAyZTQ3ZDRiZTIxMThiL3RhYmxlcmFuZ2U6NzQ1YjEyNGFiZTkyNDU1YzgxMDJlNDdkNGJlMjExOGJfNC01LTEtMS0xMDU5OTQ_47000474-8c05-4dc8-bc5c-93cc11d604a2">117</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:OperatingLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjc0NWIxMjRhYmU5MjQ1NWM4MTAyZTQ3ZDRiZTIxMThiL3RhYmxlcmFuZ2U6NzQ1YjEyNGFiZTkyNDU1YzgxMDJlNDdkNGJlMjExOGJfNC03LTEtMS0xMDU5OTQ_5be377b9-9e02-4c3a-995c-87f4c5ec17a5">132</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost, net</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="efoi:OperatingLeaseCostNetOfSubleaseIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjc0NWIxMjRhYmU5MjQ1NWM4MTAyZTQ3ZDRiZTIxMThiL3RhYmxlcmFuZ2U6NzQ1YjEyNGFiZTkyNDU1YzgxMDJlNDdkNGJlMjExOGJfNS01LTEtMS0xMDU5OTQ_b990ecfd-503f-4145-9c74-6273c8e4351a">117</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="efoi:OperatingLeaseCostNetOfSubleaseIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjc0NWIxMjRhYmU5MjQ1NWM4MTAyZTQ3ZDRiZTIxMThiL3RhYmxlcmFuZ2U6NzQ1YjEyNGFiZTkyNDU1YzgxMDJlNDdkNGJlMjExOGJfNS03LTEtMS0xMDU5OTQ_a349b3ad-862d-41e8-800a-affa626a78d2">107</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:10pt"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="efoi:LeaseSupplementalBalanceSheetInformationTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMzg1Nw_e7416191-ceb1-4a18-819b-5b49bb3051fb" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental balance sheet information related to the Company&#8217;s operating leases as of March&#160;31, 2023 and December&#160;31, 2022 are as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:63.314%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.167%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.851%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.168%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfMi0xLTEtMS0xMDU5OTQ_65d69d27-59e3-46af-95f3-5184cdb49e76">1,111</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfMi0zLTEtMS0xMDU5OTQ_3af8992e-0042-48ed-a039-97bc1fccb696">1,180</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:OperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfNi0xLTEtMS0xMDU5OTQ_1e1084d2-bf79-4603-bc83-ac27479a74fc">1,180</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:OperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfNi0zLTEtMS0xMDU5OTQ_e3146cb6-90e1-4520-85ed-f41c7976e670">1,227</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Finance Leases</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="efoi:FinanceLeaseRightOfUseAssetGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfMTEtMS0xLTEtMTA1OTk0_47bf5e19-2fac-4b1a-ae8d-e2040ef986a4">13</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="efoi:FinanceLeaseRightOfUseAssetGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfMTEtMy0xLTEtMTA1OTk0_2ab850be-ef72-4970-939c-720cb12646ae">13</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Allowances for depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="efoi:FinanceLeaseRightOfUseAssetAccumulatedDepreciation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfMTItMS0xLTEtMTA1OTk0_87f24c10-fbe4-47c9-9fc6-148f0ee2bbff">13</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="efoi:FinanceLeaseRightOfUseAssetAccumulatedDepreciation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfMTItMy0xLTEtMTA1OTk0_c7a7b1a8-ed73-4272-a17d-3c37b5253b93">13</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease assets, net</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:FinanceLeaseRightOfUseAsset" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfMTMtMS0xLTEtMTA1OTk0_af1c65bc-3fe3-4a6a-952a-593d5ad4fbba">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="us-gaap:FinanceLeaseRightOfUseAsset" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfMTMtMy0xLTEtMTA1OTk0_ec1ee08d-7364-485c-9597-a0df8b10e001">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></ix:nonNumeric></div></ix:continuation></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><ix:continuation id="i29177f97a14e49818df623e9f1a15270"><ix:continuation id="i9f5b1d68d8c14fd7adb6b0ec7a8fe725"><div style="margin-bottom:10pt"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMzg2NQ_35559e0f-d984-4ae4-94ba-b3f4c1a6bd54" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments required under operating leases for each of the 12-month rolling periods below in effect at March&#160;31, 2023 are as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:81.632%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:16.168%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2023 to March 2024</span></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmY1ODdlMDI2YzZkMzRkMWI5N2I0NmRmYTM3ZmU5ZDkwL3RhYmxlcmFuZ2U6ZjU4N2UwMjZjNmQzNGQxYjk3YjQ2ZGZhMzdmZTlkOTBfMi0yLTEtMS0xMDU5OTQ_fa9799d7-7c07-496b-b984-9cf34e26fe83">385</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2024 to March 2025</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmY1ODdlMDI2YzZkMzRkMWI5N2I0NmRmYTM3ZmU5ZDkwL3RhYmxlcmFuZ2U6ZjU4N2UwMjZjNmQzNGQxYjk3YjQ2ZGZhMzdmZTlkOTBfMy0yLTEtMS0xMDU5OTQ_bec3ccd9-575c-4d4d-a5c5-4d36d4de4f76">379</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2025 to March 2026</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmY1ODdlMDI2YzZkMzRkMWI5N2I0NmRmYTM3ZmU5ZDkwL3RhYmxlcmFuZ2U6ZjU4N2UwMjZjNmQzNGQxYjk3YjQ2ZGZhMzdmZTlkOTBfNC0yLTEtMS0xMDU5OTQ_42620970-4afc-4378-b73e-3a0bbea21797">387</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2026 to March 2027</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmY1ODdlMDI2YzZkMzRkMWI5N2I0NmRmYTM3ZmU5ZDkwL3RhYmxlcmFuZ2U6ZjU4N2UwMjZjNmQzNGQxYjk3YjQ2ZGZhMzdmZTlkOTBfNS0yLTEtMS0xMDU5OTQ_c08f0149-c024-42b3-8054-463085f7c1d5">391</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2027 to March 2028</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmY1ODdlMDI2YzZkMzRkMWI5N2I0NmRmYTM3ZmU5ZDkwL3RhYmxlcmFuZ2U6ZjU4N2UwMjZjNmQzNGQxYjk3YjQ2ZGZhMzdmZTlkOTBfNi0yLTEtMS0xMDU5OTQ_d5618415-be99-463f-8f23-0cdeb8d7e781">99</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future undiscounted lease payments</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmY1ODdlMDI2YzZkMzRkMWI5N2I0NmRmYTM3ZmU5ZDkwL3RhYmxlcmFuZ2U6ZjU4N2UwMjZjNmQzNGQxYjk3YjQ2ZGZhMzdmZTlkOTBfNy0yLTEtMS0xMDU5OTQ_b1ecbafb-5537-4154-93f9-b55ae679fec0">1,641</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less imputed interest</span></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmY1ODdlMDI2YzZkMzRkMWI5N2I0NmRmYTM3ZmU5ZDkwL3RhYmxlcmFuZ2U6ZjU4N2UwMjZjNmQzNGQxYjk3YjQ2ZGZhMzdmZTlkOTBfOC0yLTEtMS0xMDU5OTQ_686baf62-ef4a-4873-919f-bb8a8cdadce1">461</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease obligations</span></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:OperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmY1ODdlMDI2YzZkMzRkMWI5N2I0NmRmYTM3ZmU5ZDkwL3RhYmxlcmFuZ2U6ZjU4N2UwMjZjNmQzNGQxYjk3YjQ2ZGZhMzdmZTlkOTBfOS0yLTEtMS0xMDU5OTQ_dd71c519-d624-42b8-86e8-f17d1311a75e">1,180</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></ix:nonNumeric></div><div style="margin-bottom:10pt"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="efoi:SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMzg2Nw_6ac88420-17f8-4441-9ba4-2351a2f899a0" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to leases for the three months ended March&#160;31, 2023 and 2022, was as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:63.764%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:16.167%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.169%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended March 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Supplemental cash flow information</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid, net, for amounts included in the measurement of lease liabilities:</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating cash flows from operating leases</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:OperatingLeasePayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmVhNjgyZmFmZTczYjRhZTI4OGI2ZDZjMDg2ZjFiYjRhL3RhYmxlcmFuZ2U6ZWE2ODJmYWZlNzNiNGFlMjg4YjZkNmMwODZmMWJiNGFfNC01LTEtMS0xMDU5OTQ_4d4b033a-0eaf-4b8f-a804-4212dcfcfad8">95</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:OperatingLeasePayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmVhNjgyZmFmZTczYjRhZTI4OGI2ZDZjMDg2ZjFiYjRhL3RhYmxlcmFuZ2U6ZWE2ODJmYWZlNzNiNGFlMjg4YjZkNmMwODZmMWJiNGFfNC03LTEtMS0xMDU5OTQ_1a4c7fb0-8797-4c2d-91b2-8a9b9537a2e9">136</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financing cash flows from finance leases</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:FinanceLeasePrincipalPayments" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmVhNjgyZmFmZTczYjRhZTI4OGI2ZDZjMDg2ZjFiYjRhL3RhYmxlcmFuZ2U6ZWE2ODJmYWZlNzNiNGFlMjg4YjZkNmMwODZmMWJiNGFfNi01LTEtMS0xMDU5OTQ_e3ee947e-0fcc-407e-ae82-b6b5282f5f24">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmVhNjgyZmFmZTczYjRhZTI4OGI2ZDZjMDg2ZjFiYjRhL3RhYmxlcmFuZ2U6ZWE2ODJmYWZlNzNiNGFlMjg4YjZkNmMwODZmMWJiNGFfNi03LTEtMS0xMDU5OTQ_d894ebe2-98e7-40a5-ada9-d46846e3ce0e">1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div></ix:continuation></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_58"></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 6. <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:DebtDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfODkxNw_bd3bc5f2-6aae-4033-90b6-6583bce28b85" continuedAt="i866895638820406db81fad503415e4b3" escape="true">DEBT</ix:nonNumeric></span></div><ix:continuation id="i866895638820406db81fad503415e4b3" continuedAt="i00cdab1e0e31442784db8ae5a9ca65fc"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Credit facilities</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 11, 2020, we entered into <ix:nonFraction unitRef="creditfacility" contextRef="i7d59226ea92a47fe94617330f9077152_I20200811" decimals="INF" name="efoi:DebtInstrumentNumberOfCreditFacilities" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNzI_312601fa-efba-4b9a-8210-f47e4dc7af6e">two</ix:nonFraction> debt financing arrangements (together, the &#8220;Credit Facilities&#8221;) that allowed for expanded borrowing capacity at a lower blended borrowing cost. The first arrangement is an inventory financing facility (the &#8220;Inventory Facility&#8221;) pursuant to the Loan and Security Agreement (the &#8220;Inventory Loan Agreement&#8221;) between the Company and Crossroads Financial Group, LLC, a North Carolina limited liability company (&#8220;Crossroads&#8221;). Borrowings under the original Inventory Facility were permitted up to the lower of (i) $<ix:nonFraction unitRef="usd" contextRef="i87fd110b250342b5a0ca26882df52101_I20200811" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTg0_1c8bc8da-b4ae-4ffd-a70f-32ef6bad63d0">3.0</ix:nonFraction> million, which amount was subsequently increased to $<ix:nonFraction unitRef="usd" contextRef="ic76872a63a204c61b8d0a1b59f160362_I20210420" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNjMx_c3ec6fff-33ae-47b6-83ae-62b0b5ca2172">3.5</ix:nonFraction> million in April 2021, and (ii) a borrowing base determined from time to time based on the value of the Company&#8217;s eligible inventory, valued at <ix:nonFraction unitRef="number" contextRef="i87fd110b250342b5a0ca26882df52101_I20200811" decimals="2" name="efoi:LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNzc1_be892af8-3346-42a8-af55-a733cbd398b6">75</ix:nonFraction>% of inventory costs or <ix:nonFraction unitRef="number" contextRef="i87fd110b250342b5a0ca26882df52101_I20200811" decimals="2" name="efoi:LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfODAw_6cf42aa1-9d27-42ca-891c-b94706403e6e">85</ix:nonFraction>% of the inventory net orderly liquidation value, less the availability reserves. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 18, 2023, the Company and Crossroads entered into an amendment to the Inventory Loan Agreement (the &#8220;Crossroads Amendment&#8221;) to restructure and pay down the Inventory Facility. The Crossroads Amendment provides that the Company make payments to reduce the outstanding obligations under the Inventory Facility of $<ix:nonFraction unitRef="usd" contextRef="ie09a080a2f994403a9296b83e8cd3cc6_D20230120-20230120" decimals="-3" name="us-gaap:RepaymentsOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTQ5NzU1ODU5OTc5_e249296b-611a-4baf-89ec-e05bc002378e">750</ix:nonFraction> thousand by January 20, 2023 and $<ix:nonFraction unitRef="usd" contextRef="i0a09ab1905c0402f85b0f70315110be9_D20230215-20230215" decimals="-3" name="us-gaap:RepaymentsOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTQ5NzU1ODYwMDQz_ff346a71-fd18-4751-bfae-28a95036ffc1">250</ix:nonFraction> thousand by February 15, 2023 (which amounts the Company has paid). The Company also agreed to make monthly payments of approximately $<ix:nonFraction unitRef="usd" contextRef="if0af9abe1f1b41199916803eee433b87_D20230120-20230215" decimals="-3" name="efoi:RepaymentOfRemainingLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTQ5NzU1ODYwMTM1_837abaf3-54e5-4d52-a1ff-9fe89cfc40a7">40</ix:nonFraction> thousand towards the remaining outstanding obligations under the Inventory Facility, and to reduce the maximum amount that may be available to the Company under the Inventory Facility from $<ix:nonFraction unitRef="usd" contextRef="i2214000f620a46028af77f006b1c600f_I20230117" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTE1NDQ4NzIxNDMwODA_cd781afc-3215-4eda-9005-f100ab66ad5c">3.5</ix:nonFraction> million to $<ix:nonFraction unitRef="usd" contextRef="i5b393d3ef8e446888aa34122e67c058a_I20230118" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTQ5NzU1ODYwMzI2_c4791be8-309d-4ffc-a1ac-0a629c216247">500</ix:nonFraction> thousand, subject to the borrowing base as set forth in the Inventory Loan Agreement.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the Crossroads Amendment, Crossroads and the Company also agreed to extend the Inventory Facility&#8217;s current term through December 31, 2023, while eliminating the minimum borrowing amount and unused line fees and reducing the monthly service fee to a lower, fixed amount. The Company also agreed to a slightly increased interest rate, which was more than offset by the reduction in the monthly service fees. Pursuant to the Crossroads Amendment, the interest rate on borrowings under the Inventory Facility is now a per annum rate equal to (i) the Three-Month LIBOR rate plus <ix:nonFraction unitRef="number" contextRef="if38256cd7d8d439da68d0f81a2089297_I20230118" decimals="3" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTQ5NzU1ODYxNzQ3_10960ef5-8e9b-47c0-8c03-ec302e95c181">5.5</ix:nonFraction>% (currently <ix:nonFraction unitRef="number" contextRef="i9baf512275464ae68a8b12856ad35e4d_D20230118-20230118" decimals="4" name="us-gaap:DebtInstrumentInterestRateDuringPeriod" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTQ5NzU1ODYxNzYy_4b4af270-c2de-4bdf-b8cc-7b32c829a536">10.28</ix:nonFraction>% per annum) or (ii) at Crossroads&#8217; discretion, an alternative reference rate, SOFR (Secured Overnight Financing Rate), plus <ix:nonFraction unitRef="number" contextRef="i7d12fde494e1457aa50b1d34b828319f_I20230118" decimals="2" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTQ5NzU1ODYxODg5_2c7cb971-c376-4fcf-b325-b40836557a18">6</ix:nonFraction>% (currently <ix:nonFraction unitRef="number" contextRef="iaa20b630c02241b9a5a2d0122694ab6f_D20230118-20230118" decimals="5" name="us-gaap:DebtInstrumentInterestRateDuringPeriod" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTQ5NzU1ODYxOTA0_3fd42d46-9826-4f5c-8a93-27643c100c2b">10.176</ix:nonFraction>% per annum). As of March&#160;31, 2023, the effective rate was equal to <ix:nonFraction unitRef="number" contextRef="i9c51e2968e164b0f9df0a55e449341cc_I20230331" decimals="4" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMjE5OTAyMzMwODA5NQ_d3546625-8b54-44e8-b850-9e68e8bed3dd">10.44</ix:nonFraction>%.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The second Credit Facility was a receivables financing facility (the &#8220;Receivables Facility&#8221;) pursuant to the Loan and Security Agreement (the &#8220;Receivables Loan Agreement&#8221;) between the Company and Factors Southwest L.L.C. (d/b/a FSW Funding), an Arizona limited liability company (the &#8220;RF Lender&#8221;). Borrowings under the Receivables Facility were permitted up to the lower of (i) $<ix:nonFraction unitRef="usd" contextRef="idd8402ce6a974b588caf75db373d50a9_I20200811" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTYzOTAyMw_6822c3d4-bebd-4555-bfc6-da4f4c97d999">2.5</ix:nonFraction> million or (ii) a borrowing base determined from time to time based on the value of the Company&#8217;s eligible accounts receivable, valued at <ix:nonFraction unitRef="number" contextRef="idd8402ce6a974b588caf75db373d50a9_I20200811" decimals="2" name="efoi:LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTYzOTE1Nw_10ceb65c-0171-450a-b72a-f9fb67e60dc0">90</ix:nonFraction>% of the face value of such accounts receivable, less availability reserves, if any. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 7, 2023, the Company and the RF Lender agreed to terminate the Receivables Facility.&#160; All outstanding amounts under the Receivables Facility were repaid prior to termination, and there were no prepayment fees in connection with termination.&#160; The Receivables Facility was secured by substantially all of the present and future assets of the Company and was subject to an intercreditor agreement with the IF Lender, which intercreditor agreement was also terminated.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Inventory Facility were approximately $<ix:nonFraction unitRef="usd" contextRef="i72e1cf94b4064f4ebe75214b3ce623d2_I20230331" decimals="-3" name="us-gaap:LinesOfCreditCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNDI3MQ_29e74591-0b5a-47fc-acd3-e02f4b64fcae">400</ix:nonFraction> thousand and $<ix:nonFraction unitRef="usd" contextRef="i91c6f338912b435784ccfbddf48168b4_I20221231" decimals="-5" name="us-gaap:LinesOfCreditCurrent" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNDI3OA_b3500c3c-43e2-40cd-91a6-04fd78fda74b">1.4</ix:nonFraction> million at March&#160;31, 2023 and December&#160;31, 2022, respectively. Borrowings under the Receivables Facility were approximately $<ix:nonFraction unitRef="usd" contextRef="i41e2d0e3e506434fbaa71e7de008b1f5_I20221231" decimals="-3" name="us-gaap:LinesOfCreditCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNDM2Mw_cc095477-db46-44a7-b78a-7feb48ba4f00">67</ix:nonFraction> thousand at December&#160;31, 2022. These facilities are recorded in the Condensed Consolidated Balance Sheets as of March&#160;31, 2023 and December&#160;31, 2022 as a current liability under the caption &#8220;Credit line borrowings.&#8221; Outstanding balances include unamortized net issuance costs totaling $<ix:nonFraction unitRef="usd" contextRef="i72e1cf94b4064f4ebe75214b3ce623d2_I20230331" decimals="-3" name="us-gaap:UnamortizedDebtIssuanceExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNDYyMQ_0025e6f8-a01d-43aa-83c1-124d492ee844">29</ix:nonFraction> thousand and $<ix:nonFraction unitRef="usd" contextRef="i91c6f338912b435784ccfbddf48168b4_I20221231" decimals="-3" name="us-gaap:UnamortizedDebtIssuanceExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNDYyOA_f57fd456-3f0b-48ae-87f7-41cfe1d9fb78">47</ix:nonFraction> thousand for the Inventory Facility as of March&#160;31, 2023 and December&#160;31, 2022, respectively, and $<ix:nonFraction unitRef="usd" contextRef="i41e2d0e3e506434fbaa71e7de008b1f5_I20221231" decimals="-3" name="us-gaap:UnamortizedDebtIssuanceExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNDY2OQ_b2d08e89-3992-4010-b426-bf86c7521ddf">15</ix:nonFraction> thousand for the Receivables Facility as of December&#160;31, 2022.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Promissory Notes</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the third and fourth quarters of the year ended December 31, 2022, we entered into short-term unsecured promissory notes (the &#8220;2022 Promissory Notes&#8221;) with Mei Yun (Gina) Huang, Jay Huang, and Tingyu Lin. Ms. Huang is a member of the Board of Directors and Mr. Huang became a member of the Board of Directors in January 2023 in connection with the Sander Private Placement, as described below in Note 8, &#8220;Stockholders&#8217; Equity.&#8221; The total liability for the 2022 Promissory Notes was $<ix:nonFraction unitRef="usd" contextRef="i7bc73bc5fdb643f5b43333fa3eecd534_I20221231" decimals="-5" name="us-gaap:DueToRelatedPartiesCurrentAndNoncurrent" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY2MTI1Mg_a485a87b-a7d9-40ac-871f-3de69826bb54">1.5</ix:nonFraction>&#160;million at December&#160;31, 2022. All of the 2022 Promissory Notes were exchanged for common stock on January 17, 2023. See Note 8, &#8220;Stockholders&#8217; Equity.&#8221; </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><ix:continuation id="i00cdab1e0e31442784db8ae5a9ca65fc" continuedAt="if4a4c7c3e6784c09a5433fcc5ea7545c"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:ScheduleOfDebtInstrumentsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMjc0ODc3OTExNDIzNQ_40e5324c-9f07-4465-a658-740726b4213a" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes the 2022 Promissory Notes at December&#160;31, 2022:</span></div><div style="margin-bottom:10pt;text-indent:-36pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:15.082%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.353%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.858%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.353%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.858%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.491%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.996%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.491%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.996%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.491%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.996%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.491%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.720%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.491%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.720%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.313%"></td><td style="width:0.1%"></td></tr><tr><td colspan="45" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">G. Huang</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">J. Huang</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">J. Huang</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">G. Huang</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">J. Huang</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">J. Huang</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">T. Lin </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date entered</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 16, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">October 25, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">November 4, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">November 9, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 6, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 21, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Term</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i9090aa53235a4f8281ae161f7e5aa961_D20220101-20221231" name="us-gaap:DebtInstrumentTerm" format="ixt-sec:durmonth" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfMy0yLTEtMS0xMDgzODY_6ef07cbd-f11d-4905-9b11-dbf4db340a91">9</ix:nonNumeric> months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i1e4ab845c62943cba0ef361c872ab5e1_D20220101-20221231" name="us-gaap:DebtInstrumentTerm" format="ixt-sec:durmonth" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfMy00LTEtMS0xMDgzODY_270ea0fc-2b87-40fe-acba-4af022eea237">9</ix:nonNumeric> months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i1481182b5bcd495fb59655fe25d7a32c_D20220101-20221231" name="us-gaap:DebtInstrumentTerm" format="ixt-sec:durmonth" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfMy02LTEtMS0xMDgzODY_843ad6f0-b648-49d9-b0e9-ac511d817dea">9</ix:nonNumeric> months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ia88ab878c60f49778cf704689ad9e111_D20220101-20221231" name="us-gaap:DebtInstrumentTerm" format="ixt-sec:durmonth" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfMy04LTEtMS0xMDgzODY_ee27fc40-a2b9-4261-9c5d-b637d6715733">9</ix:nonNumeric> months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ia328fe650bf644c1a9b01c5ed0bc439b_D20220101-20221231" name="us-gaap:DebtInstrumentTerm" format="ixt-sec:durmonth" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfMy0xMC0xLTEtMTA4Mzg2_01b5cf40-77da-4149-9168-0f8cc72c7d38">9</ix:nonNumeric> months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ib63e0653a6d549d8b489d631a56502c0_D20220101-20221231" name="us-gaap:DebtInstrumentTerm" format="ixt-sec:durmonth" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfMy0xMi0xLTEtMTA4Mzg2_98368192-4c0e-417f-a893-cc9fe499ba79">9</ix:nonNumeric> months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i9a89fbb099a44251804f9fd2862b9c03_D20220101-20221231" name="us-gaap:DebtInstrumentTerm" format="ixt-sec:durmonth" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfMy0xNC0xLTEtMTA4Mzg2_074db116-3874-4235-aa03-b58c2a393bea">9</ix:nonNumeric> months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Principal amount</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usd" contextRef="ib2b69b2bccb249c9bf3d6a207f9bfcf2_I20221231" decimals="-3" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNC0yLTEtMS0xMDgzODY_d9fc1c13-ecdb-4b76-9e56-7fe54171e8da">450,000</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usd" contextRef="icd3aa5e028ee47d8a27e9aea53cf2352_I20221231" decimals="-3" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNC00LTEtMS0xMDgzODY_1df10dc7-fae6-45ca-9501-7663c20a55f2">50,000</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usd" contextRef="ia7963026ee6b48c5a9e5db6d78b8289e_I20221231" decimals="-3" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNC02LTEtMS0xMDgzODY_9c57047d-0ce1-4b88-900a-95dac88fd03a">250,000</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usd" contextRef="if6c6687e1b5a48b896939972954ca938_I20221231" decimals="-3" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNC04LTEtMS0xMDgzODY_6f0b6ff9-6bf4-4176-b3d9-c3e10cc6f491">350,000</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usd" contextRef="i0660f7e1b92c47699732e94004e61e52_I20221231" decimals="-3" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNC0xMC0xLTEtMTA4Mzg2_a09884ab-f2b5-4562-887d-005c66594907">200,000</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usd" contextRef="i625e31a0a6624d52ab56d78f040da09d_I20221231" decimals="-3" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNC0xMi0xLTEtMTA4Mzg2_512babb9-08c3-4548-941d-2cec577cf2f2">100,000</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usd" contextRef="i14134504c0f447e8914d00b8e85a0fa6_I20221231" decimals="-3" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNC0xNC0xLTEtMTA4Mzg2_55463e02-c87c-4d4c-900f-73b80585df22">50,000</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usd" contextRef="i46cc008f0e0d4256807d2a588788ec76_I20221231" decimals="-3" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNC0xNS0xLTEtMTE0MjEy_f7c7386f-d07d-48d2-bdb6-6605045662b1">1,450,000</ix:nonFraction></span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Maturity date</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 16, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 25, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 4, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 9, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 6, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 21, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 30, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="ib2b69b2bccb249c9bf3d6a207f9bfcf2_I20221231" decimals="2" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNi0yLTEtMS0xMDgzODY_b6cafd04-7d57-4dca-aea3-602089386966">8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="icd3aa5e028ee47d8a27e9aea53cf2352_I20221231" decimals="2" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNi00LTEtMS0xMDgzODY_c59e8b78-cce8-4815-9e8a-3f9585f6d0ea">8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="ia7963026ee6b48c5a9e5db6d78b8289e_I20221231" decimals="2" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNi02LTEtMS0xMDgzODY_73bed33f-ab73-4902-b6b7-bfaacb94e315">8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="if6c6687e1b5a48b896939972954ca938_I20221231" decimals="2" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNi04LTEtMS0xMDgzODY_d1fdd9c7-54d7-4c1d-a959-3d1cb47a889f">8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i0660f7e1b92c47699732e94004e61e52_I20221231" decimals="2" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNi0xMC0xLTEtMTA4Mzg2_082c6e6d-b74f-4cc3-9142-407231b3a53d">8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i625e31a0a6624d52ab56d78f040da09d_I20221231" decimals="2" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNi0xMi0xLTEtMTA4Mzg2_cd081733-b781-4171-8a11-ae2fcc5e864b">8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i14134504c0f447e8914d00b8e85a0fa6_I20221231" decimals="2" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNi0xNC0xLTEtMTA4Mzg2_5b4b158c-0a9b-4420-b6b2-ed9d19ab2c46">8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Default interest rate</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i9090aa53235a4f8281ae161f7e5aa961_D20220101-20221231" decimals="2" name="us-gaap:DebtInstrumentInterestRateDuringPeriod" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNy0yLTEtMS0xMDgzODY_06508610-b689-4edb-a8a5-29c9748da534">10</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i1e4ab845c62943cba0ef361c872ab5e1_D20220101-20221231" decimals="2" name="us-gaap:DebtInstrumentInterestRateDuringPeriod" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNy00LTEtMS0xMDgzODY_e6781b88-445b-419c-afb3-ffb9f4ec05da">10</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i1481182b5bcd495fb59655fe25d7a32c_D20220101-20221231" decimals="2" name="us-gaap:DebtInstrumentInterestRateDuringPeriod" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNy02LTEtMS0xMDgzODY_4f218a41-d55d-45c7-baf0-af52019f5aaf">10</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="ia88ab878c60f49778cf704689ad9e111_D20220101-20221231" decimals="2" name="us-gaap:DebtInstrumentInterestRateDuringPeriod" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNy04LTEtMS0xMDgzODY_9eee9973-8a2b-4c4c-87c1-afaf5a51746b">10</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="ia328fe650bf644c1a9b01c5ed0bc439b_D20220101-20221231" decimals="2" name="us-gaap:DebtInstrumentInterestRateDuringPeriod" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNy0xMC0xLTEtMTA4Mzg2_80cc42ca-4d96-4cf6-9bf9-c9f9bb979547">10</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="ib63e0653a6d549d8b489d631a56502c0_D20220101-20221231" decimals="2" name="us-gaap:DebtInstrumentInterestRateDuringPeriod" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNy0xMi0xLTEtMTA4Mzg2_be5d894c-5441-4909-aedc-3c31b0cc7c97">10</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i9a89fbb099a44251804f9fd2862b9c03_D20220101-20221231" decimals="2" name="us-gaap:DebtInstrumentInterestRateDuringPeriod" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNy0xNC0xLTEtMTA4Mzg2_ca3063a9-1904-41c7-9b5d-08e1c0f85bb9">10</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding Amount</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usd" contextRef="i9090aa53235a4f8281ae161f7e5aa961_D20220101-20221231" decimals="0" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfOC0yLTEtMS0xMDgzODY_e08edd96-e572-40ea-a206-1f2b17b9fd18">460,455</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usd" contextRef="i1e4ab845c62943cba0ef361c872ab5e1_D20220101-20221231" decimals="0" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfOC00LTEtMS0xMDgzODY_00e66b1f-ef80-4dc8-b6a6-da059d0b0014">50,734</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usd" contextRef="i1481182b5bcd495fb59655fe25d7a32c_D20220101-20221231" decimals="0" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfOC02LTEtMS0xMDgzODY_67b796f6-5b3e-4e44-8491-96a2f6210423">253,123</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usd" contextRef="ia88ab878c60f49778cf704689ad9e111_D20220101-20221231" decimals="0" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfOC04LTEtMS0xMDgzODY_970bcb3b-23fc-4f25-87b4-42ab4801379f">353,989</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usd" contextRef="ia328fe650bf644c1a9b01c5ed0bc439b_D20220101-20221231" decimals="0" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfOC0xMC0xLTEtMTA4Mzg2_82125485-c008-42b1-9e75-db2b0c0ddd77">201,096</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usd" contextRef="ib63e0653a6d549d8b489d631a56502c0_D20220101-20221231" decimals="0" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfOC0xMi0xLTEtMTA4Mzg2_bff1a2a0-f5b2-4d56-a297-930176229ee6">100,219</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usd" contextRef="i9a89fbb099a44251804f9fd2862b9c03_D20220101-20221231" decimals="0" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfOC0xNC0xLTEtMTA4Mzg2_63b41247-e915-4842-932b-32d0e1c79f25">50,011</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usd" contextRef="i294b6d4aeb7a457f9775ade51ca5e3a2_D20220101-20221231" decimals="0" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfOC0xNS0xLTEtMTE0MjEy_1faf73e3-e84d-4cdb-be22-320b4206cd41">1,469,627</ix:nonFraction></span></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Streeterville Notes</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2022 Streeterville Note</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April&#160;21, 2022, we entered into a note purchase agreement (the &#8220;2022 Streeterville Note Purchase Agreement&#8221;) with Streeterville Capital, LLC (&#8220;Streeterville&#8221;) pursuant to which we sold and issued to Streeterville a promissory note in the principal amount of approximately $<ix:nonFraction unitRef="usd" contextRef="i258c463f8d6b45d3b99ab179cf1800e5_I20220421" decimals="-5" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTAyNQ_d0fb24e6-3950-460d-a67a-daf599303c8e">2.0</ix:nonFraction> million (as amended, the &#8220;2022 Streeterville Note&#8221;). The 2022 Streeterville Note was issued with an original issue discount of $<ix:nonFraction unitRef="usd" contextRef="i258c463f8d6b45d3b99ab179cf1800e5_I20220421" decimals="-3" name="us-gaap:DebtInstrumentUnamortizedDiscount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTEzNQ_428b3f73-4ba4-467a-873a-c203b81b1159">215</ix:nonFraction> thousand and Streeterville paid a purchase price of approximately $<ix:nonFraction unitRef="usd" contextRef="id085ec620a324208b05e91d2f5488a8f_D20220421-20220421" decimals="-5" name="us-gaap:ProceedsFromIssuanceOfDebt" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTE5NQ_4f3b1b33-e67c-4c6f-b989-7e47180b0e9a">1.8</ix:nonFraction> million for the 2022 Streeterville Note, from which the Company paid $<ix:nonFraction unitRef="usd" contextRef="i258c463f8d6b45d3b99ab179cf1800e5_I20220421" decimals="-3" name="us-gaap:DeferredFinanceCostsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTI1OQ_e336557c-25e1-489c-841b-7d8a3d82bce3">15</ix:nonFraction> thousand to Streeterville for Streeterville&#8217;s transaction expenses. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The 2022 Streeterville Note had an original maturity date of April&#160;21, 2024, and accrues interest at <ix:nonFraction unitRef="number" contextRef="i258c463f8d6b45d3b99ab179cf1800e5_I20220421" decimals="2" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY0MDc3Ng_8e84e3d9-6dfe-457e-8fb3-7de2ef3522c6">8</ix:nonFraction>% per annum, compounded daily, on the outstanding balance. On January 17, 2023, we agreed with Streeterville to restructure and pay down the 2022 Streeterville Note and extend its maturity date to December 1, 2024 (the &#8220;2022 Streeterville Note Amendment&#8221;). We agreed to make payments to reduce the outstanding amounts of the 2022 Streeterville Note by $<ix:nonFraction unitRef="usd" contextRef="i718240b797de4b81a0f52acd7f06e10e_I20230120" decimals="-3" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY0MTA4OA_ffa4537c-fcfd-47ae-a42e-2fe019112f41">500</ix:nonFraction> thousand by January 20, 2023 (which amount has been paid) and by $<ix:nonFraction unitRef="usd" contextRef="ifb4f7d5a9229487589f814638a6bf0f5_I20230714" decimals="-3" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY0MTE0NQ_4e24381e-a8b8-4ebc-b452-083e7429c3fd">250</ix:nonFraction> thousand by July 14, 2023 ($<ix:nonFraction unitRef="usd" contextRef="idae42697aa534d7d9d9c78d80fca3f2c_I20230331" decimals="-3" name="efoi:DebtInstrumentTrancheAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfOTM0NTg0ODg4NzUxMg_e47083d8-cc1a-4013-9464-3baf37f31bdd">125</ix:nonFraction>&#160;thousand of which has already been satisfied pursuant to the March 2023 Exchange Agreement (as defined below)). Streeterville agreed to extend the term of the 2022 Streeterville Note through December 1, 2024, and beginning January 1, 2024, we would make twelve monthly repayments of approximately $<ix:nonFraction unitRef="usd" contextRef="i7ad51a88357949ddac6065a0c7bc949d_I20240101" decimals="-3" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY0MTM1MQ_8f0a3d9d-bc56-4c3d-a5b5-493521ca5cf5">117</ix:nonFraction> thousand each. We would have the right to prepay any of the scheduled repayments at any time or from time to time without additional penalty or fees. Provided we make all payments as scheduled or earlier, the 2022 Streeterville Note will be deemed paid in full and shall automatically be deemed canceled.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 31, 2023, the Company entered into an Exchange Agreement (the &#8220;March 2023 Exchange Agreement&#8221;) with Streeterville, pursuant to which we agreed to (i) partition from the 2022 Streeterville Note a new Promissory Note (the &#8220;March 2023 Partitioned Note&#8221;) in the original principal amount of $<ix:nonFraction unitRef="usd" contextRef="i6cf66b2f7157468c9efc024e67abb9a4_I20230714" decimals="-3" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMjc0ODc3OTExNDE3Ng_06efd05e-d181-421d-8d0c-5696aaf7456d">250</ix:nonFraction> thousand (the &#8220;March 2023 Exchange Amount&#8221;), (ii) cause the outstanding balance of the 2022 Streeterville Note to be reduced by an amount equal to the March 2023 Exchange Amount, and (iii) exchange (the &#8220;March 2023 Exchange&#8221;) the March 2023 Partitioned Note for <ix:nonFraction unitRef="shares" contextRef="i74ca160018094ae1b4880fd12a912840_D20230331-20230331" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMjc0ODc3OTExNDE4Ng_04a5e369-f454-4ac6-bb63-690dd364a277">502,008</ix:nonFraction> shares of the Company&#8217;s common stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The March 2023 Exchange was priced at-the-market under the Nasdaq rules and was effected pursuant to one or more exemptions from the registration requirements of the Securities Act of 1933, as amended (the &#8220;Securities Act&#8221;). There are no gross proceeds to the Company in respect of the March 2023 Exchange, provided that $<ix:nonFraction unitRef="usd" contextRef="i47a06ebba8df4bc19d22f16443a7d6b9_I20230331" decimals="-3" name="efoi:DebtInstrumentTrancheAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMjE5OTAyMzMwODEwMw_e112530a-8602-45e6-b8b4-2f8a29ef3fe5">125</ix:nonFraction>&#160;thousand of the March 2023 Exchange Amount will be applied toward the $<ix:nonFraction unitRef="usd" contextRef="i6cf66b2f7157468c9efc024e67abb9a4_I20230714" decimals="-3" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMjc0ODc3OTExNDIyNg_6b557783-3934-4f0d-85f8-0cbeb16d892a">250</ix:nonFraction> thousand payment due on or before July 14, 2023 pursuant to the 2022 Streeterville Note Amendment, $<ix:nonFraction unitRef="usd" contextRef="if26d58668d5c4538a01fdb9128348bc4_I20241201" decimals="-3" name="efoi:DebtInstrumentTrancheAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMjE5OTAyMzMwODExOA_3a06dafd-511f-48f7-b1c9-d950c14edf2c">125</ix:nonFraction>&#160;thousand will be credited to satisfy the December 1, 2024 required payment and a portion of the November 1, 2024 required payment, in each case pursuant to the 2022 Streeterville Note Amendment. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total liability for the 2022 Streeterville Note, net of discount and financing fees, was approximately $<ix:nonFraction unitRef="usd" contextRef="id347fd24602b438aa1c0ac207d8a7ded_I20230331" decimals="-5" name="us-gaap:DebtInstrumentCarryingAmount" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY3Mjc3NQ_4bdf9e42-d9f5-40fd-90f3-cddc17066167">1.3</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i3f95fa86258c4d7eaaf439b980b73442_I20221231" decimals="-5" name="us-gaap:DebtInstrumentCarryingAmount" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY0MTgwMw_08658f93-0b71-4991-b974-d8800ea19b09">2.0</ix:nonFraction> million at March&#160;31, 2023 and December&#160;31, 2022, respectively.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the event our common stock is delisted from Nasdaq, the amount outstanding under the 2022 Streeterville Note will automatically increase by <ix:nonFraction unitRef="number" contextRef="i5a1e274029f04a2bb6408c3142d77ad7_D20230101-20230331" decimals="2" name="efoi:DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY0MTk1OQ_23d033cd-3ebf-42f4-a360-f31ae560c8a9">15</ix:nonFraction>% as of the date of such delisting.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><ix:continuation id="if4a4c7c3e6784c09a5433fcc5ea7545c" continuedAt="id7356fe145494e478860585516fb5ea0"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2021 Streeterville Note</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April&#160;27, 2021, we entered into a note purchase agreement with Streeterville pursuant to which we sold and issued to Streeterville a promissory note in the principal amount of approximately $<ix:nonFraction unitRef="usd" contextRef="i2d56a47fadc4494ba21b3ffd38eb37bd_I20210427" decimals="-5" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY1OTIzOQ_2e85bb25-0ece-46fb-93d5-861b2ffa129d">1.7</ix:nonFraction> million (the &#8220;2021 Streeterville Note&#8221;). The 2021 Streeterville Note was issued with an original issue discount of $<ix:nonFraction unitRef="usd" contextRef="i2d56a47fadc4494ba21b3ffd38eb37bd_I20210427" decimals="-3" name="us-gaap:DebtInstrumentUnamortizedDiscount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY1OTM1MA_35de74e5-a88b-487c-8440-cc38e934b1ac">194</ix:nonFraction>&#160;thousand and Streeterville paid a purchase price of $<ix:nonFraction unitRef="usd" contextRef="i170a8d67ff0340198a2cbb66b5887c1e_D20210427-20210427" decimals="-5" name="us-gaap:ProceedsFromIssuanceOfDebt" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY1OTM5Nw_3df5322d-5a7f-4bbf-8a76-360fc6a60375">1.5</ix:nonFraction> million for the 2021 Streeterville Note, after deduction of $<ix:nonFraction unitRef="usd" contextRef="i2d56a47fadc4494ba21b3ffd38eb37bd_I20210427" decimals="-3" name="us-gaap:DeferredFinanceCostsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY1OTQ1Mw_4a3143e1-5b62-43e1-b8ee-9a7a823346f1">15</ix:nonFraction>&#160;thousand of Streeterville&#8217;s transaction expenses.  The 2021 Streeterville Note had a maturity date of April&#160;27, 2023, and accrued interest at <ix:nonFraction unitRef="number" contextRef="i2d56a47fadc4494ba21b3ffd38eb37bd_I20210427" decimals="2" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY1OTU3OQ_4432130f-b5d1-4263-b215-7ed1a7f33615">8</ix:nonFraction>% per annum, compounded daily, on the outstanding balance.</span></div></ix:continuation><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="id7356fe145494e478860585516fb5ea0">Beginning on November 1, 2021, Streeterville could require the Company to redeem up to $<ix:nonFraction unitRef="usd" contextRef="i2d56a47fadc4494ba21b3ffd38eb37bd_I20210427" decimals="-3" name="efoi:DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY1OTcyNw_03a309c0-57d6-407b-b797-56f6eb0f5eca">205</ix:nonFraction>&#160;thousand of the 2021 Streeterville Note in any calendar month. The Company had the right on <ix:nonFraction unitRef="deferral" contextRef="i170a8d67ff0340198a2cbb66b5887c1e_D20210427-20210427" decimals="INF" name="efoi:DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY1OTgxNA_97319ca8-0cba-4c52-9b56-b8b85c95d418">three</ix:nonFraction> occasions to defer all redemptions that Streeterville could otherwise require the Company to make during any calendar month. Each exercise of this deferral right by the Company increased the amount outstanding under the Streeterville Note by <ix:nonFraction unitRef="number" contextRef="i170a8d67ff0340198a2cbb66b5887c1e_D20210427-20210427" decimals="3" name="efoi:NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY2MDA2MA_38d2437c-5d67-402c-bad8-0ecf0aba1995">1.5</ix:nonFraction>%. The Company exercised this right twice during the fourth quarter of 2021, once during the second quarter of 2022 and once during the third quarter of 2022. The Company and Streeterville agreed to exchange common stock, priced at-the-market, for the required redemptions in October 2022 and December 2022, totaling $<ix:nonFraction unitRef="usd" contextRef="i49de9cda51534bd38c86fd46aa5a79a5_I20221231" decimals="-3" name="us-gaap:DebtInstrumentUnamortizedDiscount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY2MDM3OQ_461f8c12-0434-4e85-a415-dff2d0b1d49c">305</ix:nonFraction>&#160;thousand converted to equity.  These exchanges satisfied the redemption notices provided by Streeterville, and following the December 2022 exchange, the 2021 Streeterville Note was paid in full. We wrote off $<ix:nonFraction unitRef="usd" contextRef="i298476856ec34f0fa7944b1a381d7ecb_D20210101-20211231" decimals="-3" name="us-gaap:WriteOffOfDeferredDebtIssuanceCost" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY2MDU4Mg_ceb02131-6f71-454b-b623-0f177f024233">100</ix:nonFraction>&#160;thousand in remaining original issue discount costs at that time.</ix:continuation> </span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_61"></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 7. <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:IncomeTaxDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82MS9mcmFnOjk4Y2JiYzkwNmFjMTRmZjA5MzE0NDI5Njc2MjVmOTc4L3RleHRyZWdpb246OThjYmJjOTA2YWMxNGZmMDkzMTQ0Mjk2NzYyNWY5NzhfMTk1OQ_a336edde-2164-4888-9142-6f53b90244c3" continuedAt="i6cf54c52394c4755ad2567337ec2e799" escape="true">INCOME TAXES</ix:nonNumeric></span></div><div><span><br/></span></div><ix:continuation id="i6cf54c52394c4755ad2567337ec2e799"><div style="margin-bottom:10pt;padding-right:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the operating loss incurred during each of the three months ended March&#160;31, 2023 and 2022, and after the application of the annual limitation set forth under Section 382 of the Internal Revenue Code of 1986, as amended (the &#8220;IRC&#8221;), it was not necessary to record a provision for U.S. Federal income tax.</span></div><div style="margin-bottom:10pt;padding-right:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At March&#160;31, 2023 and December&#160;31, 2022, we had a full valuation allowance recorded against our deferred tax assets.</span></div><div style="margin-bottom:10pt;padding-right:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The valuation allowance was recorded due to uncertainties related to our ability to realize the deferred tax assets, primarily consisting of certain net operating loss carry-forwards. The valuation allowance is based on management&#8217;s estimates of taxable income by jurisdiction and the periods over which the deferred tax assets will be recoverable.</span></div><div style="margin-bottom:10pt;padding-right:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2022, we had a net operating loss carry-forward of approximately $<ix:nonFraction unitRef="usd" contextRef="i9cda1dfa61d34114bc79f5cf7d4436b3_I20221231" decimals="-5" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82MS9mcmFnOjk4Y2JiYzkwNmFjMTRmZjA5MzE0NDI5Njc2MjVmOTc4L3RleHRyZWdpb246OThjYmJjOTA2YWMxNGZmMDkzMTQ0Mjk2NzYyNWY5NzhfODMz_1ed9d770-5eb8-49d5-a6f5-741bc03d73b0">132.4</ix:nonFraction> million for federal income tax purposes ($<ix:nonFraction unitRef="usd" contextRef="i4e65ace7fbb1415f99e5a2fa5e31d1b4_I20221231" decimals="-5" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82MS9mcmFnOjk4Y2JiYzkwNmFjMTRmZjA5MzE0NDI5Njc2MjVmOTc4L3RleHRyZWdpb246OThjYmJjOTA2YWMxNGZmMDkzMTQ0Mjk2NzYyNWY5NzhfODY5_1a1cb391-3e62-4234-8b27-a770b3c09313">77.6</ix:nonFraction> million for state and local income tax purposes). However, due to changes in our capital structure, approximately $<ix:nonFraction unitRef="usd" contextRef="i9cda1dfa61d34114bc79f5cf7d4436b3_I20221231" decimals="-5" name="efoi:DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82MS9mcmFnOjk4Y2JiYzkwNmFjMTRmZjA5MzE0NDI5Njc2MjVmOTc4L3RleHRyZWdpb246OThjYmJjOTA2YWMxNGZmMDkzMTQ0Mjk2NzYyNWY5NzhfOTc4_d761c9b9-d305-41ea-98b8-04b918975aa7">71.0</ix:nonFraction> million of the $<ix:nonFraction unitRef="usd" contextRef="i9cda1dfa61d34114bc79f5cf7d4436b3_I20221231" decimals="-5" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82MS9mcmFnOjk4Y2JiYzkwNmFjMTRmZjA5MzE0NDI5Njc2MjVmOTc4L3RleHRyZWdpb246OThjYmJjOTA2YWMxNGZmMDkzMTQ0Mjk2NzYyNWY5NzhfOTg4_1ed9d770-5eb8-49d5-a6f5-741bc03d73b0">132.4</ix:nonFraction> million is available to offset future taxable income after the application of the limitations found under Section 382 of the Internal Revenue Code of 1986, as amended. As a result of the Tax Cuts and Jobs Act of 2017 (the &#8220;Tax Act&#8221;), net operating loss carry-forwards generated in tax years beginning after December 31, 2017 can only offset 80% of taxable income and can be carried forward indefinitely. The $<ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82MS9mcmFnOjk4Y2JiYzkwNmFjMTRmZjA5MzE0NDI5Njc2MjVmOTc4L3RleHRyZWdpb246OThjYmJjOTA2YWMxNGZmMDkzMTQ0Mjk2NzYyNWY5NzhfMTM5MQ_171ac131-e2f3-472f-a427-83db76234a7f">9.2</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i9d29fd435d4542aa8f23d9515714b4a6_I20211231" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82MS9mcmFnOjk4Y2JiYzkwNmFjMTRmZjA5MzE0NDI5Njc2MjVmOTc4L3RleHRyZWdpb246OThjYmJjOTA2YWMxNGZmMDkzMTQ0Mjk2NzYyNWY5NzhfMTM5OA_4265ede8-ee83-454b-9743-b4c5c6b5d758">9.6</ix:nonFraction> million in federal net operating losses generated in 2022 and 2021, respectively, will be subject to the new limitations under the Tax Act. If not utilized, the carry-forwards generated prior to December 31, 2017 of $<ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-5" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82MS9mcmFnOjk4Y2JiYzkwNmFjMTRmZjA5MzE0NDI5Njc2MjVmOTc4L3RleHRyZWdpb246OThjYmJjOTA2YWMxNGZmMDkzMTQ0Mjk2NzYyNWY5NzhfMTYwNQ_68e8a6b7-7651-4233-9617-fe6150339f2c">37.5</ix:nonFraction> million will begin to expire in 2023 for federal purposes and have begun to expire for state and local purposes. For a full discussion of the estimated restrictions on our utilization of net operating loss carry-forwards, please refer to Note 11, &#8220;Income Taxes,&#8221; included under Item 8, &#8220;Financial Statements and Supplementary Data,&#8221; of our 2022 Annual Report.</span></div></ix:continuation><div id="i137ef4de63f24bc79d9040dc6b8448eb_64"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 8.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTU0MQ_18fba7a1-f082-45b1-937a-a10353974d97" continuedAt="i39d0ba6ed0094931bec84ddc0bd6602b" escape="true">STOCKHOLDERS&#8217; EQUITY</ix:nonNumeric></span></div><ix:continuation id="i39d0ba6ed0094931bec84ddc0bd6602b" continuedAt="if452c8f6488f476983a2c2ee189dd553"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 2023 Private Placements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 28, 2023,the Company entered into a securities purchase agreement with Jay Huang, a member of the Board of Directors, pursuant to which the Company agreed to issue and sell, in a private placement (the &#8220;March 28, 2023 Private Placement&#8221;), <ix:nonFraction unitRef="shares" contextRef="i9c60bcb6f9204487abe1389cf0b906f3_D20230328-20230328" decimals="INF" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTU5Nw_3a85cde5-ff74-4c2b-8275-940423e103e2">108,502</ix:nonFraction> shares of the Company&#8217;s common stock for a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i7027c559cc3f49338bee54f4a4847204_I20230328" decimals="INF" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTYwNg_23fe6514-7733-4b25-8bf5-a5425e64883d">0.5609</ix:nonFraction> per share.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 30, 2023, the Company entered into a securities purchase agreement with Mei Yun (Gina) Huang, a member of the Board of Directors, pursuant to which the Company agreed to issue and sell, in a private placement (collectively with the March 28, 2023 Private Placement, the &#8220;March 2023 Private Placements&#8221;), <ix:nonFraction unitRef="shares" contextRef="ib5c22671d2d54df7960676b0e3169188_D20230330-20230330" decimals="INF" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTYxNQ_07a44b23-173b-44a4-b35a-e0f3da43319b">500,000</ix:nonFraction> shares of the Company&#8217;s common stock for a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="ifd269d1cfda943c8ae919496a2d5ef67_I20230330" decimals="INF" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTYzNA_ec288c66-a96b-47f9-a12b-ba2306bab5dd">0.5000</ix:nonFraction> per share.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><ix:continuation id="if452c8f6488f476983a2c2ee189dd553" continuedAt="i6d4c0b33e8444776840cce04a9bead29"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aggregate gross proceeds to the Company in respect of the March 2023 Private Placements were $<ix:nonFraction unitRef="usd" contextRef="i291460a436e74a8890d1eb5273d6099b_D20230301-20230331" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfPrivatePlacement" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTYyNA_4d0fcd50-747f-4398-a71f-e5a3720a051f">305</ix:nonFraction> thousand, before deducting estimated offering expenses payable by the Company. Each of the March 2023 Private Placements was priced at-the-market under the Nasdaq rules. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">February 2023 Private Placement</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 24, 2023, the Company entered into a securities purchase agreement with Mei Yun (Gina) Huang, a member of the Board of Directors, pursuant to which the Company agreed to issue and sell, in a private placement (the &#8220;February 2023 Private Placement&#8221;), <ix:nonFraction unitRef="shares" contextRef="id9865a7bc8704943b0939a50784649a2_D20230224-20230224" decimals="INF" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTY1Mg_bae8db17-a3f9-424d-a02b-16ef7377023f">803,212</ix:nonFraction> shares of the Company&#8217;s common stock, for a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i8ef04b71592a400d908db421090dd9ce_I20230224" decimals="INF" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTY0Mw_58cb692a-9865-4b9d-802f-0b2117ad70df">0.4980</ix:nonFraction> per share.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross proceeds to the Company in respect of the February 2023 Private Placement were $<ix:nonFraction unitRef="usd" contextRef="id9865a7bc8704943b0939a50784649a2_D20230224-20230224" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfPrivatePlacement" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTY3MA_2f56424a-396e-47e2-a6bf-299bf897c9a5">400</ix:nonFraction>&#160;thousand, before deducting estimated offering expenses payable by the Company. The February 2023 Private Placement was priced at fair market value under the Nasdaq rules.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">January 2023 Sander Electronics Private Placement</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 17, 2023, the Company entered into a securities purchase agreement (the &#8220;Sander Purchase Agreement&#8221;) with certain purchasers associated with Sander Electronics, Inc., pursuant to which the Company agreed to issue and sell in a private placement (the &#8220;Sander Private Placement&#8221;) an aggregate of <ix:nonFraction unitRef="shares" contextRef="i6bf9ed1c24de4a6693287e8c35e9a8d4_D20230117-20230117" decimals="INF" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTM0NTg0ODg2NTc4Mg_c53f87f4-0e0a-48bd-8cb7-2a3ea57c0d1a">5,446,252</ix:nonFraction> shares of common stock for a purchase price per share of $<ix:nonFraction unitRef="usdPerShare" contextRef="i1976d998f5364ca4b597c24061942a31_I20230117" decimals="INF" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTM0NTg0ODg2NTc5Mw_77ba0409-631b-48d2-a6b2-0b6564a992bf">0.5008</ix:nonFraction>. Consideration for the transaction included exchange of approximately $<ix:nonFraction unitRef="usd" contextRef="i11ba3f0a339e4defa9dcf9d51423839b_I20230117" decimals="-3" name="us-gaap:ShortTermBorrowings" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTM0NTg0ODg2NTgwMg_0b7e4571-0af3-447e-847c-f1aaaee173ae">657</ix:nonFraction> thousand in the aggregate of outstanding amounts on previous short-term bridge financings, including the 2022 Promissory Notes issued to Mr. Huang, as described above in Note 6, &#8220;Debt&#8221;.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aggregate gross proceeds from the Sander Private Placement were approximately $<ix:nonFraction unitRef="usd" contextRef="i7561d7d2fabb42c3825cffe8d28091c7_D20230101-20230331" decimals="-5" name="us-gaap:ProceedsFromIssuanceOfPrivatePlacement" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMzI5ODUzNDkxMzA3MQ_5d52cd65-8226-473e-b7a4-afee5408dd81">2.1</ix:nonFraction>&#160;million. The Sander Private Placement was priced at-the-market under the Nasdaq rules. Pursuant to the Sander Purchase Agreement, the Company agreed to increase the size of the Board of Directors to eight members and to appoint each of Jay (Chiao Chieh) Huang and Wen-Jeng Chang as a director for a term expiring at the 2023 annual meeting of the Company&#8217;s stockholders or his earlier resignation, death or removal in accordance with the Company&#8217;s bylaws.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">January 2023 Transactions with Mei Yun (Gina) Huang</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 5, 2023, the Company entered into a securities purchase agreement with Mei Yun (Gina) Huang, a member of the Board of Directors, pursuant to which the Company agreed to issue and sell, in a private placement, <ix:nonFraction unitRef="shares" contextRef="i1c69db5fe96c427d8cfee54829689680_D20230105-20230105" decimals="INF" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5MzA1OQ_cf2e7009-2493-4a65-8245-311d88653452">257,798</ix:nonFraction> shares of the Company&#8217;s common stock, for a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="ic350bac6fc4d4c42b2cb49046bbba055_I20230105" decimals="INF" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5MzA2OA_ec8e7c14-f624-44cd-b3f7-3f0f19b7c09b">0.3879</ix:nonFraction> per share. On January 10, 2023, the Company entered into a securities purchase agreement with Ms. Huang, pursuant to which the Company agreed to issue and sell, in a private placement, <ix:nonFraction unitRef="shares" contextRef="if27559900ba14605aa5b017a92c425d5_D20230110-20230110" decimals="INF" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5MzA4Ng_f596ebde-cc0e-488a-895b-4e330d0e3555">325,803</ix:nonFraction> shares of the Company&#8217;s common stock for a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i28c47b0aabd34a3983363e49aef3fe35_I20230110" decimals="INF" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5MzA3Nw_b0bd5222-cde8-4b64-982e-5fc335d5758b">0.4604</ix:nonFraction> per share.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aggregate gross proceeds to the Company in respect of these private placements to Ms. Huang are $<ix:nonFraction unitRef="usd" contextRef="ib620521ca9b04958baba9c5cb5835fd8_D20230101-20230331" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfPrivatePlacement" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5MzEyNQ_e8c975bb-9efa-42ec-bd4e-c6dde17226d9">250</ix:nonFraction>&#160;thousand, before deducting estimated offering expenses payable by the Company. Each of the private placements to Ms. Huang was priced at fair market value under the Nasdaq rules.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 17, 2023, the Company and Ms. Huang entered into exchange agreements pursuant to which the Company and Ms. Huang agreed to exchange the approximately $<ix:nonFraction unitRef="usd" contextRef="i22dac5734a23420daa88677f1e86cffb_D20230117-20230117" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfPrivatePlacement" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5MzA5NQ_4dedb747-a9db-4229-bd07-8c1d6188181d">809,000</ix:nonFraction> aggregate outstanding amounts on previous short-term bridge financings, including the 2022 Promissory Notes issued to Ms. Huang, as described above in Note 6, &#8220;Debt&#8221;, for an aggregate of <ix:nonFraction unitRef="shares" contextRef="i22dac5734a23420daa88677f1e86cffb_D20230117-20230117" decimals="INF" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5MzEwNQ_fe1ae52a-6a29-40ea-882a-4f56ff24f326">1,436,959</ix:nonFraction> shares of common stock at a price per share of $<ix:nonFraction unitRef="usdPerShare" contextRef="ibd7c40c732534005aecb39edffb318e1_I20230117" decimals="INF" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5MzExNg_b4119bb5-5f31-45bd-9bec-adb04b76923b">0.5630</ix:nonFraction>.  The exchanges were priced at fair market value under the Nasdaq rules.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 2022 Private Placement</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2022, we completed a private placement (the &#8220;June 2022 Private Placement&#8221;) with certain institutional investors for the sale of <ix:nonFraction unitRef="shares" contextRef="i0bf245a9398c45ab9aba5d709a637fba_D20220601-20220630" decimals="INF" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzNzQ4MA_5bf2ea2e-4839-4464-83d9-ccf0e3b988a0">1,313,462</ix:nonFraction> shares of our common stock at a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i7cc420d30737483fa70487c04fb1e454_I20220630" decimals="2" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzNzUzNA_7f623c7f-8226-441e-8708-89d461262c54">1.30</ix:nonFraction> per share. We also sold to the same institutional investors (i) pre-funded warrants (the &#8220;June 2022 Pre-Funded Warrants&#8221;) to purchase <ix:nonFraction unitRef="shares" contextRef="i6668546623db4539a1a0c44cb5d2a5f6_I20220630" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzNzY0NA_21748ab4-8c35-4b3a-8bd2-04e5432a162c">1,378,848</ix:nonFraction> shares of common stock at an exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i6668546623db4539a1a0c44cb5d2a5f6_I20220630" decimals="INF" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzNzY5NQ_0a7ba440-a91c-4566-9d91-e8db97cdb0b3">0.0001</ix:nonFraction> per share and (ii) warrants (collectively with the June 2022 Pre-Funded Warrants, the &#8220;June 2022 Warrants&#8221;) to purchase up to an aggregate of <ix:nonFraction unitRef="shares" contextRef="ic55e4555f8744a3b967ad970b478a329_I20220630" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzNzc2MQ_ccff960b-931e-4db5-b9ee-0bde392e3835">2,692,310</ix:nonFraction> shares of common stock at an exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="ic55e4555f8744a3b967ad970b478a329_I20220630" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzNzgxMg_4aaaba6f-cc47-4e4a-b4e5-e14e1845aaf3">1.30</ix:nonFraction> per share. In connection with the June 2022 Private Placement, we paid the placement agent commissions of $<ix:nonFraction unitRef="usd" contextRef="i0bf245a9398c45ab9aba5d709a637fba_D20220601-20220630" decimals="-3" name="efoi:PaymentsForPlacementAgentCommissions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzNzkyMg_041b6381-3fa8-4090-8dab-c9d44384a1ad">252</ix:nonFraction>&#160;thousand, plus $<ix:nonFraction unitRef="usd" contextRef="i0bf245a9398c45ab9aba5d709a637fba_D20220601-20220630" decimals="-3" name="efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzNzkzMg_808ec461-62e8-4611-bc71-f1bec3e18375">35</ix:nonFraction>&#160;thousand in expenses, and we also paid legal, accounting and other fees of $<ix:nonFraction unitRef="usd" contextRef="i0bf245a9398c45ab9aba5d709a637fba_D20220601-20220630" decimals="-3" name="efoi:PaymentsForClearingFees" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzODAwMg_2a6f98db-0000-4428-91b6-b10bac77203f">47</ix:nonFraction>&#160;thousand. Total offering costs of $<ix:nonFraction unitRef="usd" contextRef="i496d4240f2c04e9e830137e11845cd80_D20220101-20221231" decimals="-3" name="us-gaap:PaymentsOfStockIssuanceCosts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzODAzMQ_0680ed6a-7026-41d0-9905-d30b3b14e133">334</ix:nonFraction>&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Condensed Consolidated Balance Sheet as of December&#160;31, 2022. Net proceeds to us from the June 2022 </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><ix:continuation id="i6d4c0b33e8444776840cce04a9bead29" continuedAt="if3bb2bb4f66f472892d5e343336254d9"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Private Placement were approximately $<ix:nonFraction unitRef="usd" contextRef="i0bf245a9398c45ab9aba5d709a637fba_D20220601-20220630" decimals="-5" name="efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzODI2NQ_92adf45d-804f-478d-95f9-c40bb32059c9">3.2</ix:nonFraction> million. We determined the exercise price of the June 2022 Pre-Funded Warrants to be nominal and, as such, have considered the <ix:nonFraction unitRef="shares" contextRef="i6668546623db4539a1a0c44cb5d2a5f6_I20220630" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzODM4OA_7cbd7e43-22f3-4ef4-abe9-ffab7f9027ed">1,378,848</ix:nonFraction> shares underlying them to be outstanding effective June 7, 2022, for purposes of calculating net loss per share. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In July 2022, all of the June 2022 Pre-Funded Warrants were exercised. As of March&#160;31, 2023, June 2022 Warrants to purchase an aggregate of <ix:nonFraction unitRef="shares" contextRef="i7aab7607ff8d425bbe2d816b84f72323_I20230331" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzODYzNQ_4ed02a56-d2dc-43bf-8c82-6f0074da2088">2,692,310</ix:nonFraction> shares of common stock remained outstanding, with an exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i7aab7607ff8d425bbe2d816b84f72323_I20230331" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzODcxMA_429d8d28-1673-4094-9167-a8f3f59829c5">1.30</ix:nonFraction> per share.  The exercise of the remaining June 2022 Warrants outstanding could provide us with cash proceeds of up to $<ix:nonFraction unitRef="usd" contextRef="i644d63cb81c64c69a207f69a4088a6ed_D20230101-20230331" decimals="-5" name="efoi:EstimatedProceedsFromIssuanceOfWarrants" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzODgzMg_43080ca2-9c39-46f7-9285-7d914867374b">3.5</ix:nonFraction> million in the aggregate.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 2021 Private Placement</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2021, we completed a private placement (the &#8220;December 2021 Private Placement&#8221;) with certain institutional investors for the sale of <ix:nonFraction unitRef="shares" contextRef="i69885f7bf8744a93a44bc87c138ac3b1_D20211201-20211231" decimals="INF" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTg2_cb24f443-6f51-4fc6-bdef-6c789461b002">1,193,185</ix:nonFraction> shares of our common stock at a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i12dea23a546e4b08b0ba38de5742b60a_I20211231" decimals="2" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjM5_900e072b-8690-4cb1-8091-8f1ccf439dea">3.52</ix:nonFraction> per share. We also sold to the same institutional investors (i) pre-funded warrants (the &#8220;December 2021 Pre-Funded Warrants&#8221;) to purchase <ix:nonFraction unitRef="shares" contextRef="ib620e4eb1b0a4daeaaba69a3bbe3b84e_I20211231" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMzM4_9ff83029-34c7-44a3-a1fc-1eefe517d67c">85,228</ix:nonFraction> shares of common stock at an exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="ib620e4eb1b0a4daeaaba69a3bbe3b84e_I20211231" decimals="INF" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMzg4_c60a213b-514f-4192-a4e3-4ed3e00b4da1">0.0001</ix:nonFraction> per share and (ii) warrants (collectively with the December 2021 Pre-Funded Warrants, the &#8220;December 2021 Warrants&#8221;) to purchase up to an aggregate of <ix:nonFraction unitRef="shares" contextRef="ieae979ec2cf94da093b3272417381bcd_I20211231" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNDUz_d5503888-7627-45a3-b04f-cadcf6244cea">1,278,413</ix:nonFraction> shares of common stock at an exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="ieae979ec2cf94da093b3272417381bcd_I20211231" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNTAz_1f4ebed2-e1eb-4421-8ae5-946f85570bdc">3.52</ix:nonFraction> per share. In connection with the December 2021 Private Placement, we paid the placement agent commission of $<ix:nonFraction unitRef="usd" contextRef="i69885f7bf8744a93a44bc87c138ac3b1_D20211201-20211231" decimals="-3" name="efoi:PaymentsForPlacementAgentCommissions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNjE1_862e2325-00c3-4717-9793-7caac80f97e9">360</ix:nonFraction>&#160;thousand plus $<ix:nonFraction unitRef="usd" contextRef="i69885f7bf8744a93a44bc87c138ac3b1_D20211201-20211231" decimals="-3" name="efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNjIz_5e627d79-cefb-4ddc-9918-91d0ced9091b">42</ix:nonFraction>&#160;thousand in expenses and we also paid legal, accounting and other fees of $<ix:nonFraction unitRef="usd" contextRef="i69885f7bf8744a93a44bc87c138ac3b1_D20211201-20211231" decimals="-3" name="efoi:PaymentsForClearingFees" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNjkx_51b61682-2e18-4db6-8f67-572a97c29a66">97</ix:nonFraction>&#160;thousand. Total offering costs of $<ix:nonFraction unitRef="usd" contextRef="i69885f7bf8744a93a44bc87c138ac3b1_D20211201-20211231" decimals="-3" name="us-gaap:PaymentsOfStockIssuanceCosts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNzE5_5789959d-9def-49e3-9deb-9faeee4320bf">499</ix:nonFraction>&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December 31, 2021.  Net proceeds from the December 2021 Private Placement were approximately $<ix:nonFraction unitRef="usd" contextRef="i69885f7bf8744a93a44bc87c138ac3b1_D20211201-20211231" decimals="-5" name="efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTM5_d5b84712-f008-4774-86e4-76ca06f799dc">4.0</ix:nonFraction> million. We determined the exercise price of the December 2021 Pre-Funded Warrants to be nominal and, as such, considered the <ix:nonFraction unitRef="shares" contextRef="i074f11f03e774242b1ecb598bd4cea7f_D20211216-20211216" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA0Ng_d4b8450d-6456-4e05-89f7-f15fa6e81d63">85,228</ix:nonFraction> shares underlying them to be outstanding effective December 16, 2021, for purposes of calculating net loss per share.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2022, all of the December 2021 Pre-Funded Warrants were exercised. As of March&#160;31, 2023, December 2021 Warrants to purchase an aggregate of <ix:nonFraction unitRef="shares" contextRef="idd12a3606e1349c4b2047634fc7ede76_I20230331" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTI5Mw_2e334674-d73a-41f8-81be-30e6c6220330">1,278,413</ix:nonFraction> shares remained outstanding, with an exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="idd12a3606e1349c4b2047634fc7ede76_I20230331" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTM1MQ_8a7a17a7-f3b6-40bc-8d2f-3913c3b0c9fc">3.52</ix:nonFraction> per share. The December 2021 Warrants expire on December&#160;16, 2026. The exercise of the remaining December 2021 Warrants outstanding could provide us with cash proceeds of up to $<ix:nonFraction unitRef="usd" contextRef="i1f8e23f1e58546ce941c30d8eb491023_D20230101-20230331" decimals="-5" name="efoi:EstimatedProceedsFromIssuanceOfWarrants" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTUxNg_1f8d3545-d460-41dc-8b89-a5190b9c23c6">4.5</ix:nonFraction> million in the aggregate.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Preferred Stock</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 29, 2019, we issued $<ix:nonFraction unitRef="usd" contextRef="i12927e9338144a7eb412104e8c6ace1a_D20190329-20190329" decimals="-5" name="us-gaap:ProceedsFromIssuanceOfSubordinatedLongTermDebt" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTM0NTg0ODg2NTgxMg_3b091d91-8dfd-43b5-9985-7268788530f3">1.7</ix:nonFraction>&#160;million aggregate principal amount of subordinated convertible promissory notes (the &#8220;Convertible Notes&#8221;) to certain investors in a private placement exempt from registration requirements of the Securities Act. The Convertible Notes had a maturity date of December 31, 2021 and bore interest at a rate of <ix:nonFraction unitRef="number" contextRef="ie63a2681dbee426b840138c1c3f1c9d7_I20190630" decimals="2" name="us-gaap:DerivativeFixedInterestRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTM0NTg0ODg2NTgzMw_d2af45a8-f344-4951-b590-c3966960f168">5.0</ix:nonFraction>% per annum until June 30, 2019 and at a rate of <ix:nonFraction unitRef="number" contextRef="ie144f28839aa444d922bb66c92486a03_I20190701" decimals="2" name="us-gaap:DerivativeFixedInterestRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTM0NTg0ODg2NTgyNg_d5b105eb-7b0d-4a59-80d9-dcea2a7378c2">10.0</ix:nonFraction>% thereafter.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the terms of the Convertible Notes, on January 16, 2020, following approval by our stockholders of certain amendments to the Company&#8217;s Certificate of Incorporation, the principal amount of all of the Convertible Notes and the accumulated interest thereon at the date of conversion (totaling $<ix:nonFraction unitRef="usd" contextRef="i601e3044a28047b98b3e2a30d9c29e43_D20200116-20200116" decimals="-5" name="efoi:NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjQ3OA_5c3820cb-1a66-467e-9089-1db334ebee8e">1.8</ix:nonFraction> million) were converted at a conversion price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i35b137a8f2404f898c2e3b2ad1314945_I20200116" decimals="2" name="us-gaap:DebtInstrumentConvertibleConversionPrice1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjUyMg_92e5a35b-03c1-4f79-87d3-b369718284cf">0.67</ix:nonFraction> per share into an aggregate of <ix:nonFraction unitRef="shares" contextRef="i601e3044a28047b98b3e2a30d9c29e43_D20200116-20200116" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjU1Ng_8fb7e394-4e63-4b20-880f-94ee396d886c">2,709,018</ix:nonFraction> shares of the Company&#8217;s Series A Preferred Stock, which is convertible on a one-for-five basis into shares of our common stock. During the year ended December 31, 2020, <ix:nonFraction unitRef="shares" contextRef="ia50ca055e69a4b99bf1a4547a63d79d5_D20200101-20201231" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjcyOA_a3bdca7d-9560-4283-8569-0f3cb7c00ab2">111,548</ix:nonFraction> shares of the Series A Preferred Stock were converted into <ix:nonFraction unitRef="shares" contextRef="i0261bef7689546bb92cca9989ac1ee5f_D20200101-20201231" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc5MA_5f6f4e95-9600-4382-b560-35a6ebe7b21d">22,310</ix:nonFraction> shares of common stock. During the year ended December 31, 2021, <ix:nonFraction unitRef="shares" contextRef="ie785e1b01ce144978c696c964d3f74b1_D20210101-20211231" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjg1OA_1c4b3a4f-e78a-4266-bb60-8982ff197f75">1,721,023</ix:nonFraction> shares of Series A Preferred Stock were converted into <ix:nonFraction unitRef="shares" contextRef="i5b71515002e541fba61b2b939bd235f4_D20210101-20211231" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjkxNg_a686a6dc-eadd-4813-9abf-45c113ee70fe">344,205</ix:nonFraction> shares of common stock. The Series A Preferred Stock that was converted in 2021 was held by a Schedule 13D ownership group (under Section 13(d)(3) of the Securities Exchange Act of 1934, as amended, and Rule 13d-5 promulgated thereunder) that includes Fusion Park LLC and 5 Elements Global Fund L.P. (controlled affiliates of James Tu, the Company's former Executive Chairman and Chief Executive Officer), as well as Brilliant Start Enterprise Inc. and Jag International Ltd. (controlled affiliates of Mei Yun (Gina) Huang, a member of the Company's Board of Directors). </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Series A Preferred Stock was created by the filing of a Certificate of Designation with the Secretary of State of the State of Delaware on March 29, 2019, which designated <ix:nonFraction unitRef="shares" contextRef="ib1428b5108e841cf9d83692503d4b513_I20190329" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMzg2OQ_27232a00-90f9-41ee-9947-e33f97250d86">2,000,000</ix:nonFraction> shares of the Company&#8217;s preferred stock, par value $<ix:nonFraction unitRef="usdPerShare" contextRef="ib1428b5108e841cf9d83692503d4b513_I20190329" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMzkyMw_aaca4e50-5f06-4c26-8cce-e2c7304bd01f">0.0001</ix:nonFraction> per share, as Series A Preferred Stock (the &#8220;Original Series A Certificate of Designation&#8221;). On January 15, 2020 with prior stockholder approval, the Company amended its Certificate of Incorporation to increase the number of authorized shares of preferred stock to <ix:nonFraction unitRef="shares" contextRef="ic491b39a305d42b5af19a65aec7b34b1_I20200115" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNDE5MQ_a58e9f99-bd55-4bb3-b8aa-f0a9d92e6d3c">5,000,000</ix:nonFraction>. The Original Series A Certificate of Designation was also amended on January 15, 2020, to increase the number of shares of preferred stock designated as Series A Preferred Stock to <ix:nonFraction unitRef="shares" contextRef="i1d9aeb6fd9ca45dfbc7f484c850f3d8f_I20200115" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNDM3Ng_79ffd134-c58a-4614-8adb-93c32517daea">3,300,000</ix:nonFraction> (the Original Series A Certificate of Designation, as so amended, the &#8220;Series A Certificate of Designation&#8221;). </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><ix:continuation id="if3bb2bb4f66f472892d5e343336254d9" continuedAt="i7887c02b9c524f16aa80320198c3552e"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the Series A Certificate of Designation, each holder of outstanding shares of Series A Preferred Stock is entitled to vote with holders of outstanding shares of common stock, voting together as a single class, with respect to any and all matters presented to the stockholders of the Company for their action or consideration, except as provided by law. In any such vote, each share of Series A Preferred Stock shall entitle its holder to a number of votes equal to <ix:nonFraction unitRef="number" contextRef="ifbb95b0452954896a5a02ad5df96371e_D20200116-20200116" decimals="4" name="efoi:PercentageOfSeriesAPreferredStockEligibleToVote" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNDk2Nw_7e059277-46c5-4107-adfd-bc42452492b0">11.07</ix:nonFraction>% of the number of shares of common stock into which such share of Series A Preferred Stock is convertible.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Series A Preferred Stock (a) has a preference upon liquidation equal to $<ix:nonFraction unitRef="usdPerShare" contextRef="i35b137a8f2404f898c2e3b2ad1314945_I20200116" decimals="2" name="us-gaap:DebtInstrumentConvertibleConversionPrice1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNTE1Mg_92e5a35b-03c1-4f79-87d3-b369718284cf">0.67</ix:nonFraction> per share and then participates on an as-converted basis with the common stock with respect to any additional distributions, (b) shall receive any dividends declared and payable on our common stock on an as-converted basis, and (c) is convertible at the option of the holder into shares of our common stock on a one-for-five basis. On March 29, 2019, the Company also filed a Certificate of Elimination with respect to its authorized, but unissued, Series A Participating Preferred Stock, to return such shares to the status of undesignated preferred stock available for designation as Series A Preferred Stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The purchase agreement related to the Convertible Notes contains customary representations and warranties and provides for resale registration rights with respect to the shares of our common stock issuable upon conversion of the Series A Preferred Stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">January 2020 Equity Offering</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Issuance of Common Stock and Warrants</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2020, we completed a registered direct offering for the sale of <ix:nonFraction unitRef="shares" contextRef="if71e51af4c6343f8a9dbdd3e76dc5c64_D20200101-20200131" decimals="INF" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNjE1NA_76f942d1-800e-4315-b2a1-4702c5ea33b6">688,360</ix:nonFraction> shares of our common stock to certain institutional investors, at a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="ifb08d9a40cab4e0eab82621d0ad95c8a_I20200131" decimals="2" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNjI0Mw_75218437-537f-4ddf-9fae-247ae884e949">3.37</ix:nonFraction> per share. We also sold, to the same institutional investors, warrants (the &#8220;January 2020 Investor Warrants&#8221;) to purchase up to <ix:nonFraction unitRef="shares" contextRef="ifb08d9a40cab4e0eab82621d0ad95c8a_I20200131" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNjM0OA_beb144ad-5d28-4245-b845-ef09615278b5">688,360</ix:nonFraction> shares of common stock at an exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="ife8e2ca953054aeaba994b6e6be18d10_I20200131" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNjM5OA_e1b6e651-21eb-405c-97ba-6ceea72b1bc9">3.37</ix:nonFraction> per share in a concurrent private placement for a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="if71e51af4c6343f8a9dbdd3e76dc5c64_D20200101-20200131" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssuedPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNjQ2OQ_da5fca3a-476d-4c07-a417-dab5eb911d46">0.625</ix:nonFraction> per warrant. In addition, we issued to the placement agent in connection with such registered direct offering and concurrent private placement warrants (the &#8220;January 2020 Placement Agent Warrants&#8221; and, collectively with the January 2020 Investor Warrants, the &#8220;January 2020 Warrants&#8221;) to purchase up to <ix:nonFraction unitRef="shares" contextRef="ibba592b486134badbe15078e7e18f53a_I20200131" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5NDMyMw_ba02fdbd-f0a3-40f6-8da0-e7c11d572253">48,185</ix:nonFraction> shares of common stock at an exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="ibba592b486134badbe15078e7e18f53a_I20200131" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5NDMzMQ_483fc12d-a5ee-4ab3-bc7a-d6c2a58558dc">4.99</ix:nonFraction> per share.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">January 2020 Warrants issued to purchase an aggregate of <ix:nonFraction unitRef="shares" contextRef="i3c1bc63ce1f040569c6d64a5cf208f9b_D20230101-20230331" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNzIwOQ_49b600e6-d472-4c44-ab38-8c26f09ba9aa">229,414</ix:nonFraction> shares remain outstanding at March&#160;31, 2023 with a weighted average exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i94855a7a54934b0da586d3b674eb0722_I20230331" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNzI4Ng_a105b96a-0469-41d4-a59e-62bb4650d72a">3.67</ix:nonFraction> per share. The exercise of January 2020 Warrants could provide us with cash proceeds of up to approximately $<ix:nonFraction unitRef="usd" contextRef="i3c1bc63ce1f040569c6d64a5cf208f9b_D20230101-20230331" decimals="-3" name="efoi:EstimatedProceedsFromIssuanceOfWarrants" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNzM3MA_a8df5807-26b4-4880-97d9-366dfa8ada91">0.8</ix:nonFraction> million in the aggregate if all January 2020 Warrants are exercised. During the three months ended March 31, 2023 and March&#160;31, 2022, <ix:nonFraction unitRef="shares" contextRef="i794af841c00e46529844c235b8236cf0_D20220101-20220331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNzQzNg_e13a50ac-3d85-49c0-84f9-20a2f7bed87b"><ix:nonFraction unitRef="shares" contextRef="i3c1bc63ce1f040569c6d64a5cf208f9b_D20230101-20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNzQzNg_f1c9c3a2-c0ca-480c-b97d-1ccf54abd140">no</ix:nonFraction></ix:nonFraction> January 2020 Warrants were exercised. </span></div><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTU0NA_e94efda0-447d-4bd8-bb61-df41150608cd" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March&#160;31, 2023 and 2022, we had the following outstanding January 2020 Warrants:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:31.482%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.116%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.266%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.266%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.270%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">As of March&#160;31, 2023</span></div></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">As of March&#160;31, 2022</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Number of Underlying Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Exercise Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Expiration</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jan. 2020 Investor Warrants</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i7411641aa95f4029850044a4e3ad38d6_D20230101-20230331" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjhlZDg3MjU3YmViMzRkYzk5M2JmOTQ0MDMwNjNkYjgwL3RhYmxlcmFuZ2U6OGVkODcyNTdiZWIzNGRjOTkzYmY5NDQwMzA2M2RiODBfMi0xLTEtMS0xMDU5OTQ_04c139fc-13a1-4dc0-9bcc-789b7ca61946">187,734</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i2858fe93457e47db8bb1de5daf816c95_D20220101-20220331" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjhlZDg3MjU3YmViMzRkYzk5M2JmOTQ0MDMwNjNkYjgwL3RhYmxlcmFuZ2U6OGVkODcyNTdiZWIzNGRjOTkzYmY5NDQwMzA2M2RiODBfMi0zLTEtMS0xMDU5OTQ_6aa8347b-f8ba-42d1-942f-ed3d4fb10191">187,734</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="i45fa612b43eb4bd486c6e3a20bd74bfe_I20230331" decimals="4" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjhlZDg3MjU3YmViMzRkYzk5M2JmOTQ0MDMwNjNkYjgwL3RhYmxlcmFuZ2U6OGVkODcyNTdiZWIzNGRjOTkzYmY5NDQwMzA2M2RiODBfMi01LTEtMS0xMDU5OTQ_75c6d544-3a1f-4703-8386-fb1518f540ff">3.3700</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">January 13, 2025</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jan. 2020 Placement Agent Warrants</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i2dac718f7ea8418e8d1ad13aceffb769_D20230101-20230331" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjhlZDg3MjU3YmViMzRkYzk5M2JmOTQ0MDMwNjNkYjgwL3RhYmxlcmFuZ2U6OGVkODcyNTdiZWIzNGRjOTkzYmY5NDQwMzA2M2RiODBfMy0xLTEtMS0xMDU5OTQ_674e2b63-e8f0-4fdd-b636-6d0cc7a4b072">41,680</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i92f443a8028149b19c6e6ee056d8c7f7_D20220101-20220331" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjhlZDg3MjU3YmViMzRkYzk5M2JmOTQ0MDMwNjNkYjgwL3RhYmxlcmFuZ2U6OGVkODcyNTdiZWIzNGRjOTkzYmY5NDQwMzA2M2RiODBfMy0zLTEtMS0xMDU5OTQ_c33e1e0b-b084-46a2-9f8c-37c6292f52bf">41,680</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="i22e1f0a92b7f4cd6b77bc7c30d68fd99_I20230331" decimals="4" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjhlZDg3MjU3YmViMzRkYzk5M2JmOTQ0MDMwNjNkYjgwL3RhYmxlcmFuZ2U6OGVkODcyNTdiZWIzNGRjOTkzYmY5NDQwMzA2M2RiODBfMy01LTEtMS0xMDU5OTQvdGV4dHJlZ2lvbjozMTA3MTQ1ZDViYWQ0OWFkOGY5NzBiOWJiMTQ1OTdjM180_dbefd78c-f542-429e-a8dc-761acea15ee3">4.9940</ix:nonFraction></span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">January 13, 2025</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i3c1bc63ce1f040569c6d64a5cf208f9b_D20230101-20230331" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjhlZDg3MjU3YmViMzRkYzk5M2JmOTQ0MDMwNjNkYjgwL3RhYmxlcmFuZ2U6OGVkODcyNTdiZWIzNGRjOTkzYmY5NDQwMzA2M2RiODBfNC0xLTEtMS0xMDU5OTQ_06b9b0b5-2911-4134-b6e9-d99f9c605780">229,414</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i794af841c00e46529844c235b8236cf0_D20220101-20220331" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjhlZDg3MjU3YmViMzRkYzk5M2JmOTQ0MDMwNjNkYjgwL3RhYmxlcmFuZ2U6OGVkODcyNTdiZWIzNGRjOTkzYmY5NDQwMzA2M2RiODBfNC0zLTEtMS0xMDU5OTQ_e2540cb1-fbbd-4863-8a2d-e57b6dcd810b">229,414</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="margin-bottom:10pt"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><ix:continuation id="i7887c02b9c524f16aa80320198c3552e" continuedAt="ib0fe2cab79ff49b48401d41d7b9e8b1a"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock-based compensation</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense is attributable to stock options and restricted stock unit awards. For all stock-based awards, we recognize expense using a straight-line amortization method.</span></div><div style="margin-bottom:10pt"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTUyMQ_1aacb46b-c4dc-42bc-8901-49b11b4e7085" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock-based compensation expense and the impact it had on operations for the periods presented (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:63.614%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:16.167%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.169%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2d2127a8f233485ba4347070cedb0568_D20230101-20230331" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmI3MDk2MTY4NzkzZDQ4MTc4OWMxNGM3OThjZTJkMDU2L3RhYmxlcmFuZ2U6YjcwOTYxNjg3OTNkNDgxNzg5YzE0Yzc5OGNlMmQwNTZfMi01LTEtMS0xMDU5OTQ_12a5d3df-bba2-492e-9644-e7ee8ffdf964">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i97950f64fa9243a1bccc32d8c2492208_D20220101-20220331" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmI3MDk2MTY4NzkzZDQ4MTc4OWMxNGM3OThjZTJkMDU2L3RhYmxlcmFuZ2U6YjcwOTYxNjg3OTNkNDgxNzg5YzE0Yzc5OGNlMmQwNTZfMi03LTEtMS0xMDU5OTQ_89878072-172f-41d4-a90d-6981a1dff006">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product development</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iee298cab50824f879c844578b9ae01fd_D20230101-20230331" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmI3MDk2MTY4NzkzZDQ4MTc4OWMxNGM3OThjZTJkMDU2L3RhYmxlcmFuZ2U6YjcwOTYxNjg3OTNkNDgxNzg5YzE0Yzc5OGNlMmQwNTZfMy01LTEtMS0xMDU5OTQ_a196775d-f576-457e-9d5d-5b0761cc91df">4</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ia840289d38cc4de4b6889e10e57d8f4a_D20220101-20220331" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmI3MDk2MTY4NzkzZDQ4MTc4OWMxNGM3OThjZTJkMDU2L3RhYmxlcmFuZ2U6YjcwOTYxNjg3OTNkNDgxNzg5YzE0Yzc5OGNlMmQwNTZfMy03LTEtMS0xMDU5OTQ_70287662-e8ed-4b1a-aedd-12b7531bb491">6</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0b7a3591d13f40498199436a4918bdae_D20230101-20230331" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmI3MDk2MTY4NzkzZDQ4MTc4OWMxNGM3OThjZTJkMDU2L3RhYmxlcmFuZ2U6YjcwOTYxNjg3OTNkNDgxNzg5YzE0Yzc5OGNlMmQwNTZfNC01LTEtMS0xMDU5OTQ_3bc688fe-6a0b-4472-9583-1047d5030f71">22</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie7343fdb57a840bdbf54fb0a3f469aef_D20220101-20220331" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmI3MDk2MTY4NzkzZDQ4MTc4OWMxNGM3OThjZTJkMDU2L3RhYmxlcmFuZ2U6YjcwOTYxNjg3OTNkNDgxNzg5YzE0Yzc5OGNlMmQwNTZfNC03LTEtMS0xMDU5OTQ_5e311401-842f-48c9-be3f-9476d9dd095f">37</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total stock-based compensation</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmI3MDk2MTY4NzkzZDQ4MTc4OWMxNGM3OThjZTJkMDU2L3RhYmxlcmFuZ2U6YjcwOTYxNjg3OTNkNDgxNzg5YzE0Yzc5OGNlMmQwNTZfNS01LTEtMS0xMDU5OTQ_a9908cb7-0eb9-41e9-b79b-494a1f7e504c">26</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i98081df676ec427e979799294744af39_D20220101-20220331" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmI3MDk2MTY4NzkzZDQ4MTc4OWMxNGM3OThjZTJkMDU2L3RhYmxlcmFuZ2U6YjcwOTYxNjg3OTNkNDgxNzg5YzE0Yzc5OGNlMmQwNTZfNS03LTEtMS0xMDU5OTQ_ae89969c-db5c-4a8f-95e1-5deb04c7f349">44</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:nonNumeric></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total unearned stock-based compensation was $<ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfODcyMg_22be35f8-95f7-42d2-9b00-ef7851d913ee">144</ix:nonFraction> thousand at March&#160;31, 2023, compared to $<ix:nonFraction unitRef="usd" contextRef="i466b5761fcc746f6b9e105f3ee815891_I20220331" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfODc0NA_976c7e89-d994-4c26-be49-c1445f03e31b">285</ix:nonFraction> thousand at March&#160;31, 2022. These costs will be charged to expense and amortized on a straight-line basis in future periods. The weighted average period over which the unearned compensation at March&#160;31, 2023 is expected to be recognized is approximately <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfODk2OA_67ae2a29-aab9-4c85-a894-d45299aee6a0">2.6</ix:nonNumeric> years.</span></div><div style="margin-bottom:10pt"><span><br/></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock options</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of each stock option is estimated on the date of grant using the Black-Scholes option pricing model. <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTY4NA_c2027a5f-5d06-47d3-97bb-d9c07ef1c066" continuedAt="i7a6927f2355b43e489c72cb18320ba00" escape="true">Estimates utilized in the calculation include the expected life of the option, risk-free interest rate, and expected volatility, and are further detailed below. Note that there were no grants made during the three months ended March 31, 2023. </ix:nonNumeric></span><ix:continuation id="i7a6927f2355b43e489c72cb18320ba00"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.966%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.566%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.568%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of options issued</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i0e343c763aa94fb19884a9e71c1b3fde_D20220101-20220331" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjYwYjRkMGM4MTM5NjRkNDg4YWRkMTMzNDRlNDk3MzY4L3RhYmxlcmFuZ2U6NjBiNGQwYzgxMzk2NGQ0ODhhZGQxMzM0NGU0OTczNjhfMi0zLTEtMS0xMDU5OTQ_cec17cc7-3dee-46bd-a7ef-79fa02a01505">1.17</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercise price</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ie1f2a65bb1ca407292186293e7aad935_I20220331" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjYwYjRkMGM4MTM5NjRkNDg4YWRkMTMzNDRlNDk3MzY4L3RhYmxlcmFuZ2U6NjBiNGQwYzgxMzk2NGQ0ODhhZGQxMzM0NGU0OTczNjhfMy0zLTEtMS0xMDU5OTQ_1c1e5384-a162-455d-b7f5-2ce3a235eff6">1.48</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected life of options (in years)</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i0e343c763aa94fb19884a9e71c1b3fde_D20220101-20220331" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjYwYjRkMGM4MTM5NjRkNDg4YWRkMTMzNDRlNDk3MzY4L3RhYmxlcmFuZ2U6NjBiNGQwYzgxMzk2NGQ0ODhhZGQxMzM0NGU0OTczNjhfNC0zLTEtMS0xMDU5OTQ_4d3d01e1-a114-4670-abe7-01dec853334f">6.1</ix:nonNumeric></span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i0e343c763aa94fb19884a9e71c1b3fde_D20220101-20220331" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjYwYjRkMGM4MTM5NjRkNDg4YWRkMTMzNDRlNDk3MzY4L3RhYmxlcmFuZ2U6NjBiNGQwYzgxMzk2NGQ0ODhhZGQxMzM0NGU0OTczNjhfNS0zLTEtMS0xMDU5OTQ_582787af-e72a-4ced-8ee0-c7b445c82fee">1.9</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i0e343c763aa94fb19884a9e71c1b3fde_D20220101-20220331" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjYwYjRkMGM4MTM5NjRkNDg4YWRkMTMzNDRlNDk3MzY4L3RhYmxlcmFuZ2U6NjBiNGQwYzgxMzk2NGQ0ODhhZGQxMzM0NGU0OTczNjhfNi0zLTEtMS0xMDU5OTQ_f12cfede-ee20-4b0a-9202-191d999737a8">99.2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividend yield</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i0e343c763aa94fb19884a9e71c1b3fde_D20220101-20220331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjYwYjRkMGM4MTM5NjRkNDg4YWRkMTMzNDRlNDk3MzY4L3RhYmxlcmFuZ2U6NjBiNGQwYzgxMzk2NGQ0ODhhZGQxMzM0NGU0OTczNjhfNy0zLTEtMS0xMDU5OTQ_7d67a6cc-c115-44ca-9ded-a369728f69f8">0.0</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></ix:continuation></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><ix:continuation id="ib0fe2cab79ff49b48401d41d7b9e8b1a"><div style="margin-bottom:10pt"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTUyNA_fdba8725-8917-4bb5-9ceb-d4da38106392" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of option activity under all outstanding stock incentive plans for the three months ended March 31, 2023 is presented as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:47.398%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.566%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.566%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.570%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Number of<br/>Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Exercise<br/>Price Per<br/>Share</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfMS0xLTEtMS0xMDU5OTQ_81b88d3a-4f84-404d-8913-b4dd1d76a481">330,808</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfMS0zLTEtMS0xMDU5OTQ_ae9663ab-f48a-4c1f-ad91-cae775aecfd9">1.97</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfMi0xLTEtMS0xMDU5OTQ_8c95796c-a337-4b4f-8dc3-b6503732e7e9">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfMi0zLTEtMS0xMDU5OTQ_b4d6be23-71c0-4edf-b7e7-6d4c83323d59">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Canceled/forfeited</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfNC0xLTEtMS0xMDU5OTQ_4d5de7ac-17a6-48d0-a46f-88b978df6a95">65,903</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfNC0zLTEtMS0xMDU5OTQ_aab977d7-8e8d-4b0f-b4f5-863065c6a03c">2.88</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at March 31, 2023</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfNi0xLTEtMS0xMDU5OTQ_f46b9d92-d415-484a-8a2e-f934b1fdaa11">264,905</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfNi0zLTEtMS0xMDU5OTQ_39218b99-6a02-4a01-bdc4-5940f4f8cfd5">1.75</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfNi01LTEtMS0xMDU5OTQ_850bbc62-fc8e-4307-bcfd-6bd4d6570170">8.0</ix:nonNumeric></span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Vested and expected to vest at March 31, 2023</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfOC0xLTEtMS0xMDU5OTQ_a062e1c6-402b-4555-a733-f9bdb2fda651">218,307</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfOC0zLTEtMS0xMDU5OTQ_cb3d8d84-c5c0-45e2-a0ae-d7486ae49247">1.87</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfOC01LTEtMS0xMDU5OTQ_e0d6eb80-e826-4b7d-a345-ba04fd651b64">7.8</ix:nonNumeric></span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exercisable at March 31, 2023</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfMTAtMS0xLTEtMTA1OTk0_ac0b241e-a8af-4456-838b-d009938b2afd">66,734</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfMTAtMy0xLTEtMTA1OTk0_124769a1-e1af-4516-9aa3-0a1f7df40597">3.10</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfMTAtNS0xLTEtMTA1OTk0_5adac6dd-fb44-43c4-bb19-302e0db56c03">4.6</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="display:none"></td></tr></table></ix:nonNumeric></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Restricted stock units</span></div><div style="margin-bottom:10pt"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTU0MA_cdacb521-85a2-4e9a-930e-d39f0231237e" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of restricted stock unit activity under all outstanding stock incentive plans for the three months ended March 31, 2023 is presented as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:47.398%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.566%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.566%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.570%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Restricted<br/>Stock Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Grant<br/>Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i1bc9012ae9db4b018ac9f12ca21fe222_I20221231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmRlZDViNzc5NjRlNzQ1YzFiNzU5NjFjMDM0ZmY3ZWEwL3RhYmxlcmFuZ2U6ZGVkNWI3Nzk2NGU3NDVjMWI3NTk2MWMwMzRmZjdlYTBfMS0xLTEtMS0xMDU5OTQ_fcb3a49f-978c-454c-ac2b-7ee614289bf6">11,600</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i1bc9012ae9db4b018ac9f12ca21fe222_I20221231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmRlZDViNzc5NjRlNzQ1YzFiNzU5NjFjMDM0ZmY3ZWEwL3RhYmxlcmFuZ2U6ZGVkNWI3Nzk2NGU3NDVjMWI3NTk2MWMwMzRmZjdlYTBfMS0zLTEtMS0xMDU5OTQ_cf6748a2-8957-4994-96e3-bbfd394bdb54">1.59</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i8efcd85eb0fd4c459309b1cc67f0c411_D20230101-20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmRlZDViNzc5NjRlNzQ1YzFiNzU5NjFjMDM0ZmY3ZWEwL3RhYmxlcmFuZ2U6ZGVkNWI3Nzk2NGU3NDVjMWI3NTk2MWMwMzRmZjdlYTBfMi0xLTEtMS0xMDU5OTQ_19336fc2-6915-40f1-b6c8-831fe98350ea">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i8efcd85eb0fd4c459309b1cc67f0c411_D20230101-20230331" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmRlZDViNzc5NjRlNzQ1YzFiNzU5NjFjMDM0ZmY3ZWEwL3RhYmxlcmFuZ2U6ZGVkNWI3Nzk2NGU3NDVjMWI3NTk2MWMwMzRmZjdlYTBfMi0zLTEtMS0xMDU5OTQ_50fb4701-ba58-4d26-9ce6-7a88a68c02da">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at March 31, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i169854f0bb8447468f02f9d274f02cb6_I20230331" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmRlZDViNzc5NjRlNzQ1YzFiNzU5NjFjMDM0ZmY3ZWEwL3RhYmxlcmFuZ2U6ZGVkNWI3Nzk2NGU3NDVjMWI3NTk2MWMwMzRmZjdlYTBfNS0xLTEtMS0xMDU5OTQ_93969d7b-0055-40d9-a6f9-33a8ab149720">11,600</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i169854f0bb8447468f02f9d274f02cb6_I20230331" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmRlZDViNzc5NjRlNzQ1YzFiNzU5NjFjMDM0ZmY3ZWEwL3RhYmxlcmFuZ2U6ZGVkNWI3Nzk2NGU3NDVjMWI3NTk2MWMwMzRmZjdlYTBfNS0zLTEtMS0xMDU5OTQ_d92b5f91-bba1-446c-a655-0f626d3ecfd6">1.59</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i8efcd85eb0fd4c459309b1cc67f0c411_D20230101-20230331" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmRlZDViNzc5NjRlNzQ1YzFiNzU5NjFjMDM0ZmY3ZWEwL3RhYmxlcmFuZ2U6ZGVkNWI3Nzk2NGU3NDVjMWI3NTk2MWMwMzRmZjdlYTBfNS01LTEtMS0xMDU5OTQ_5c927488-16ce-468b-8d47-dfbfe73bfcbf">1.4</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="display:none"></td></tr></table></ix:nonNumeric></div></ix:continuation><div id="i137ef4de63f24bc79d9040dc6b8448eb_70"></div><div><span><br/></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 9.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83MC9mcmFnOjdiNDFlMDU5YWJiNzQ0ZmM5MTcwNDAzNDViMmQ1ODgzL3RleHRyZWdpb246N2I0MWUwNTlhYmI3NDRmYzkxNzA0MDM0NWIyZDU4ODNfMzE4_7d736564-37b1-4afa-809b-181a31c3de55" continuedAt="i6f2da03b3e2444b78ec6ef605e7e4475" escape="true">COMMITMENTS AND CONTINGENCIES</ix:nonNumeric></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:continuation id="i6f2da03b3e2444b78ec6ef605e7e4475" continuedAt="i0ba708ae64de411daf3fccefd5adda3a">Purchase Commitments</ix:continuation></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i0ba708ae64de411daf3fccefd5adda3a">As of March&#160;31, 2023, we had approximately $<ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="us-gaap:PurchaseObligation" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83MC9mcmFnOjdiNDFlMDU5YWJiNzQ0ZmM5MTcwNDAzNDViMmQ1ODgzL3RleHRyZWdpb246N2I0MWUwNTlhYmI3NDRmYzkxNzA0MDM0NWIyZDU4ODNfOTc_ef9a9d77-6f4f-478a-8701-8487c723e87c">1,391</ix:nonFraction>&#160;thousand in outstanding purchase commitments for inventory. Of this amount, approximately $<ix:nonFraction unitRef="usd" contextRef="i067d40fab95745f89a4bec1164793dd3_D20230401-20230630" decimals="-3" name="us-gaap:LongTermPurchaseCommitmentAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83MC9mcmFnOjdiNDFlMDU5YWJiNzQ0ZmM5MTcwNDAzNDViMmQ1ODgzL3RleHRyZWdpb246N2I0MWUwNTlhYmI3NDRmYzkxNzA0MDM0NWIyZDU4ODNfMTgx_83319513-289c-4d0f-b280-2f43204dbab1">1,376</ix:nonFraction>&#160;thousand is expected to ship in the second quarter of 2023, and $<ix:nonFraction unitRef="usd" contextRef="i256e02b3d9cd45ae90fdf507325d58dc_D20230701-20230930" decimals="-3" name="us-gaap:LongTermPurchaseCommitmentAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83MC9mcmFnOjdiNDFlMDU5YWJiNzQ0ZmM5MTcwNDAzNDViMmQ1ODgzL3RleHRyZWdpb246N2I0MWUwNTlhYmI3NDRmYzkxNzA0MDM0NWIyZDU4ODNfMTA5OTUxMTYyODY1Nw_1a18580d-415e-4aa5-bae2-7897f0e66999">15</ix:nonFraction>&#160;thousand expected to ship in the third quarter of 2023 and thereafter.</ix:continuation> </span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_73"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 10. <ix:nonNumeric contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331" name="us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83My9mcmFnOmFhYmJmY2YxZjgwOTRjY2Q4ZDM0NWEyYjQzMmJjYjYwL3RleHRyZWdpb246YWFiYmZjZjFmODA5NGNjZDhkMzQ1YTJiNDMyYmNiNjBfMjcwMA_cdfb57f5-fc30-474d-9e69-40c023c34a4a" continuedAt="ia3b394645709440abec026e22577005a" escape="true">OTHER INCOME</ix:nonNumeric></span></div><ix:continuation id="ia3b394645709440abec026e22577005a" continuedAt="i9587ef8bac54450dbcffd1302f1f1f65"><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Employee Retention Tax Credit</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Coronavirus Aid, Relief and Economic Security Act (the &#8220;CARES Act&#8221;), which was enacted on March 27, 2020, provides an Employee Retention Tax Credit (&#8220;ERTC&#8221;) that is a refundable tax credit against certain employer taxes. The ERTC was subsequently amended by the Taxpayer Certainty and Disaster Tax Relief Act of 2020, the Consolidated Appropriation Act of 2021, and the American Rescue Plan Act of 2021, all of which amended and extended the ERTC availability and guidelines under the CARES Act. Following these amendments, we and other businesses became retroactively eligible for the ERTC, and as a result of the foregoing legislation, are eligible to claim a refundable tax credit against the employer share of Social Security taxes equal to 70% of the qualified wages paid to employees between January 1, 2021 and September 30, 2021. Qualified wages are limited to $10,000 per employee per calendar quarter in 2021 for a maximum allowable ERTC per employee of $7,000 per calendar quarter in 2021. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For purposes of the amended ERTC, an eligible employer is defined as having experienced a significant (20% or more) decline in gross receipts during each of the first three 2021 calendar quarters when compared with the same quarter in 2019 or the immediately preceding quarter to the corresponding calendar quarter in 2019. The credit is taken against the </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:72pt;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO THE CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March&#160;31, 2023</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(Unaudited)</span></div></div><ix:continuation id="i9587ef8bac54450dbcffd1302f1f1f65"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Company&#8217;s share of Social Security Tax when the Company&#8217;s payroll provider files, or subsequently amends the applicable quarterly employer tax filings.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the amended guidelines, we are eligible to receive the ERTC for the second and third quarters of 2021. As part of the filing of our employer tax filings for the third quarter of 2021, we applied for and received a refund of $<ix:nonFraction unitRef="usd" contextRef="if52337259ca94ff6adbd8c395875af1f_D20210701-20210930" decimals="-3" name="efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83My9mcmFnOmFhYmJmY2YxZjgwOTRjY2Q4ZDM0NWEyYjQzMmJjYjYwL3RleHRyZWdpb246YWFiYmZjZjFmODA5NGNjZDhkMzQ1YTJiNDMyYmNiNjBfMTcwOQ_681698b4-398c-46b9-9dfa-76086d21b532">431</ix:nonFraction>&#160;thousand, and we amended our filing for the second quarter of 2021, for which we received an additional refund of approximately $<ix:nonFraction unitRef="usd" contextRef="i6e836d92561341ffb8c493dd07587cee_I20210630" decimals="-3" name="efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83My9mcmFnOmFhYmJmY2YxZjgwOTRjY2Q4ZDM0NWEyYjQzMmJjYjYwL3RleHRyZWdpb246YWFiYmZjZjFmODA5NGNjZDhkMzQ1YTJiNDMyYmNiNjBfMTg0MA_f1c60e3a-01ef-43c4-b1d7-74ea579f61f4">445</ix:nonFraction>&#160;thousand. These amounts are recorded as other income in the Consolidated Statements of Operations during the quarter ended December&#160;31, 2021, and the $<ix:nonFraction unitRef="usd" contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231" decimals="-3" name="efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83My9mcmFnOmFhYmJmY2YxZjgwOTRjY2Q4ZDM0NWEyYjQzMmJjYjYwL3RleHRyZWdpb246YWFiYmZjZjFmODA5NGNjZDhkMzQ1YTJiNDMyYmNiNjBfMTk2OQ_1b56b91d-1b72-41de-b1f7-e8c750a56354"><ix:nonFraction unitRef="usd" contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331" decimals="-3" name="efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83My9mcmFnOmFhYmJmY2YxZjgwOTRjY2Q4ZDM0NWEyYjQzMmJjYjYwL3RleHRyZWdpb246YWFiYmZjZjFmODA5NGNjZDhkMzQ1YTJiNDMyYmNiNjBfMTk2OQ_d3b83341-3c64-4d94-90de-977546cf7c07">445</ix:nonFraction></ix:nonFraction>&#160;thousand as an expected receivable in the Consolidated Balance Sheet as of March&#160;31, 2023 and December&#160;31, 2022.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_79"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 2.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following discussion and analysis of our financial condition and results of operations should be read in conjunction with the financial statements and related notes thereto included in Part I, Item 1, &#8220;Financial Statements&#8221; of this Quarterly Report, as well as Item 7, &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations,&#8221; of our Annual Report on Form 10-K for the year ended December&#160;31, 2022 (&#8220;2022 Annual Report&#8221;).</span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_82"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Overview</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Energy Focus, Inc. engages primarily in the design, development, manufacturing, marketing and sale of energy-efficient lighting systems and controls. We develop, market and sell high quality light-emitting diode (&#8220;LED&#8221;) lighting and controls products in the commercial market and military maritime market (&#8220;MMM&#8221;), and expanded our offerings into the consumer market in the fourth quarter of 2021. Our mission is to enable our customers to run their facilities with greater energy efficiency, productivity, and human health and wellness through advanced LED retrofit solutions. Our goal is to be the human wellness lighting and LED technology and market leader for the most demanding applications where performance, quality, value, environmental impact and health are considered paramount. We specialize in LED lighting retrofit by replacing fluorescent, high-intensity discharge lighting and other types of lamps in institutional buildings for primarily indoor lighting applications with our innovative, high-quality commercial and military-grade tubular LED (&#8220;TLED&#8221;) products, as well as other LED and lighting control products for commercial and consumer applications. In late 2020, we announced the launch of ultraviolet-C light disinfection (&#8220;UVCD&#8221;) products. After evaluating market demand and supply chain challenges for our UVCD products, we revised our business strategy to primarily focus on our MMM and commercial and industrial lighting and control products.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The LED lighting industry has changed dramatically over the past several years due to increasing competition and price erosion. We have been experiencing these industry forces in both our military and commercial business since 2016, where we once commanded significant price premiums for our flicker-free TLEDs with industry leading warranties. In more recent years, we have focused on redesigning our products for lower costs and consolidated our supply chain for stronger purchasing power in an effort to price our products more competitively while not impacting the performance and quality. Despite these efforts, our legacy products continue to face extreme pricing competition and a convergence of product functionality in the marketplace, and we have shifted to diversifying our supply chain in an effort to increase value and remain competitive. These trends are not unique to Energy Focus as evidenced by the increasing number of industry peers facing challenges, exiting LED lighting, selling assets and even going out of business.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to continuously pursuing cost reductions, our strategy to combat these trends is to innovate both our technology and product offerings with differentiated products and solutions that offer greater, distinct value. Specific examples of these</span><span style="color:#ee2724;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">products we have developed include the RedCap</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, our patented emergency backup battery integrated TLED, EnFocus&#8482;, our unique dimmable/color-tunable lighting and powerline control platform that we launched in 2020, and the second generation of EnFocus&#8482; powerline control switches and circadian lighting system, which as a result of supply chain challenges we now plan to launch in 2023. Similarly, our plans to expand and enhance the performance of our RedCap</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">product line are also now expected in 2023. We continue to evaluate our sales strategy and believe our go-to-market strategy that focuses more on direct-sales marketing, selectively expanding our channel partner network to cover territories across the country, and listening to the voice of the customer, will lead to better and more impactful product development efforts that we believe will eventually translate into larger addressable markets and greater sales growth for us.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prior to 2019, the Company experienced significant sales declines, operating losses and increases in its inventory. Beginning in 2019, significant restructuring efforts were undertaken. As part of the initial cost savings efforts to minimize cash usage, the Company replaced the entire senior management team, significantly reduced non-critical expenses, minimized the amount of inventory the Company was purchasing, dramatically changed the composition of its Board of Directors (the &#8220;Board of Directors&#8221;) and recruited new departmental leaders across the Company. These cost savings efforts also included the elimination of certain positions, restructuring of the sales organization and incentive plan, additional operational streamlining, management compensation reductions, and outsourcing of certain functions, including certain elements of supply chain and marketing.  </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During 2021 and 2022, we realized initial cost-savings benefits from these relaunch efforts, but continued to face significant operating losses. Despite these cost-cutting efforts, the Company faced a challenging commercial market with continuing impacts from the global pandemic combined with ongoing delays in MMM projects and funding that continued to depress sales through 2021 while the Company invested in exploring additional lines of business with UVCD technology that ultimately gained little traction in the market.  </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At the beginning of 2022, the Board of Directors appointed our lead independent director to serve as interim Chief Executive Officer and replace our previous chief executive officer. During 2022, the Company redoubled its cost-reduction efforts, reduced its warehouse square footage, undertook an inventory reduction project, and dramatically reduced head count.  During 2022, we also added three experienced executives to our Board of Directors with extensive lighting and consumer products industry experience, and in September 2022, we hired a permanent Chief Executive Officer. We reinvested in our MMM sales channel with a strategic hire in May 2022 and continue to pursue these sales opportunities, though the sales cycles for what are frequently made-to-order products are longer than commercial offerings.  </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">It is our belief that the dramatic rightsizing efforts undertaken in 2022, along with ongoing development of innovative, high-value products and an expanded sales and distribution network, will over time result in improved sales and bottom-line performance for the Company.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During 2021 and into 2022, our MMM business continued to face challenges resulting from the delayed availability of government funding and the timing of U.S. Navy awards, with several anticipated projects facing repeated and ongoing delays. This sector also maintains very long sales cycles. The timeline between bid to sale can often take at least six months. We continue to pursue opportunities from the U.S. Navy and the government sector to minimize such volatility. Previously in our MMM business, significant efforts undertaken to reduce costs in our product offerings have positioned us to be more competitive along with improved production efficiencies. Such efforts allowed us to continue to win bids and proposals that helped grow our MMM sales in 2020, offsetting some of the weakness being experienced in our commercial business that year, though new MMM orders dwindled as we entered 2022. In May 2022, we reinvested in our MMM sales channel with a strategic hire to lead our MMM sales effort.  While we continue to aggressively seek to increase sales of our commercial products, the MMM business offers us continued sales opportunities, in addition to validating our product quality and strengthening our brand trust in the marketplace. However, due to product mix impacts resulting from the continued impact of the COVID-19 pandemic on commercial sales, our current financial results are in part driven by, and reflect volatility in, our MMM sales.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Meanwhile, we continue to seek additional external funding alternatives and sources to support our growth strategies, plans and initiatives. We plan to achieve profitability through developing and launching innovative products such as EnFocus</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">TM </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">powerline control technology and further leveraging our unique and proprietary technology such as RedCap</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.8pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-4.2pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, as well as executing on our multi-channel sales strategy that targets key verticals, such as government, healthcare, education and commercial and industrial, complemented by our marketing outreach campaigns and expanding channel partnerships. We also plan to continue to develop advanced lighting and lighting control applications built upon the EnFocus</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">TM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> platform that aim to serve both consumer and commercial markets. We are also evaluating adjacent technologies including Gallium Nitride ( &#8220;GaN&#8221;)-based power supplies and other market opportunities in energy solutions products that support sustainability in our existing channels. In addition, we intend to continue to apply rigorous financial discipline in our organizational structure, business processes and policies, strategic sourcing activities and supply chain practices to help accelerate our path towards profitability.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We launched our patented EnFocus&#8482; platform during the second quarter of 2020 and, despite the ongoing, significant delay and slowdown in our customers&#8217; lighting projects following the impacts of the COVID-19 pandemic, we continue to receive positive feedback from the market. The EnFocus&#8482; platform offers two immediately available product lines: EnFocus&#8482; DM, which provides a dimmable lighting solution, and EnFocus&#8482; DCT, which provides both a dimmable and color tunable lighting solution. EnFocus&#8482; enables buildings to have dimmable, color tunable and circadian-ready lighting using existing wiring, without requiring laying additional data cables or any wireless communication systems, through a relatively simple upgrade with EnFocus&#8482; switches and LED lamps, a far more secure, affordable and environmentally sustainable solution compared with replacing an entire luminaire and incorporating additional wired or wireless communication.</span></div><div style="margin-bottom:10pt;padding-left:2.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Despite continuing progress on cost reduction throughout 2022, the Company&#8217;s results reflect the challenges due to long and unpredictable sales cycles, unexpected delays in MMM and commercial customer retrofit budgets and project starts, and supply chain issues. There has also been continuing aggressive price competition in the lighting industry. We continued to incur losses and we have a substantial accumulated deficit, which continues to raise substantial doubt about our ability to continue as a going concern at March&#160;31, 2023.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_85"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Results of operations</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth items in our Condensed Consolidated Statements of Operations as a percentage of net sales for the periods indicated:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.566%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:15.266%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.118%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net sales</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross profit (loss)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.8&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.3)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating expenses:</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product development</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">114.6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">103.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total operating expenses</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">131.2&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127.6&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Loss from operations</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(129.4)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(128.9)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Other expenses (income):</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other expenses</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net loss</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(143.4)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(136.8)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-bottom:10pt"><span><br/></span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_88"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net sales</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A further breakdown of our net sales is presented in the following table (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.566%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:15.116%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.268%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">321&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,134&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MMM products</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">609&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">927&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total net sales</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">930&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,061&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales of $930&#160;thousand for the first quarter of 2023 decreased $1.1&#160;million, or 55%, compared to first quarter of 2022 net sales of $2.1&#160;million, driven by a decrease in net MMM sales of $318&#160;thousand due to an interrupted sales pipeline as management replaced the head of MMM sales mid-year 2022. The MMM sales cycle is prolonged and started to reverse its negative trend in the middle of the fourth quarter of 2022.  Commercial net sales also decreased by $813&#160;thousand, or 71.7%, as compared to first quarter of 2022. </span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_91"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross Profit</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross profit margin was $17&#160;thousand, or 2% of net sales, for the first quarter of 2023. This compares with gross loss of $26&#160;thousand, or negative 1% of net sales, in the first quarter of 2022. The year-over-year increase in gross margin rate was driven by a $300 thousand, or 15%, decrease in fixed costs such as production salaries. The increase in gross margin also consists of a variable component of approximately $300 thousand due primarily to lower volume. Gross margin for the first quarter of 2023 included favorable freight-in variances of $148&#160;thousand, or 16% of net sales, favorable price and usage variances for material and labor of $236&#160;thousand, or 26% of net sales, as well as favorable inventory reserves of $149&#160;thousand, or 16% of net sales. Gross margin for the first quarter of 2022 included unfavorable freight-in variances of $161&#160;thousand, or 8% of net sales, and unfavorable price and usage variances for material and labor of $93&#160;thousand, or 4% of net sales, as well as unfavorable inventory reserves of $129&#160;thousand, or 6% of net sales. </span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_94"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Operating expenses</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Product development</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product development expenses include salaries and related expenses, contractor and consulting fees, legal fees, supplies and materials, as well as overhead, such as depreciation and facility costs. Product development costs are expensed as they are incurred.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product development expenses were $154&#160;thousand for the first quarter of 2023, down 69% from the first quarter of 2022. Product development expenses relate to customization of product offerings for key customers.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Selling, general and</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">administrative</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Selling, general and administrative expenses were $1.1&#160;million for the first quarter of 2023, down 50% as compared to $2.1&#160;million in the first quarter of 2022. The decrease in expenses from the first quarter of 2022 primarily relates to a reduction of $1.1 million in payroll and payroll-related expenses along with a decrease of $100 thousand in severance.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The primary drivers of the changes in expenses in the first quarter of 2023 versus the first quarter of 2022 were $0.6 million and $1.7 million, respectively, in payroll and payroll-related expenses, $0.3 million in both the first quarter of 2023 and the first quarter of 2022 in professional and legal fees, $0.2 million and $0.1 million, respectively, in network and software expenses in the first quarter of 2023 and the first quarter of 2022.</span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_97"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Interest expense</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest expense was $123 thousand for the first quarter of 2023, compared to interest expense of $184 thousand for the first quarter of 2022. The decrease in interest expense is primarily related to interest attributable to the 2021 Streeterville Note (as defined below) as well as the amortization of debt costs related to the Credit Facilities (as defined below). The actual cash interest paid in the first quarter of 2023 was $0 compared to $78 thousand in the first quarter of 2022.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other income and expenses</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other income of $30&#160;thousand for the first quarter of 2022 relates to an aged customer credit balance the Company had been carrying for which the customer had not responded to various inquiries. This credit was recorded to income during the first quarter of 2022.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other expenses were $7 thousand for the first quarter of 2023, compared to other expenses of $11 thousand for the first quarter of 2022. Other expenses are mainly comprised of bank and collateral management fees.</span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_100"></div><div><span><br/></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Provision for income taxes</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due to the operating losses incurred during the three months ended March&#160;31, 2023 and 2022, and after application of the annual limitation set forth under Section 382 of the Internal Revenue Code of 1986, as amended, it was not necessary to record a provision for U.S. federal income tax or various state income taxes as income tax benefits are fully offset by a valuation allowance recorded.</span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_103"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net loss</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended March 31, 2023, our net loss of $1.3 million decreased 53% over the net loss for the three months ended March 31, 2022 of $2.8 million. The decrease is mainly due to lower fixed costs in the first quarter of 2023.</span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_106"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial condition</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At March&#160;31, 2023, we had $301 thousand in cash and a total of $1.7 million of debt, including $400 thousand outstanding under our Inventory Facility and $1.3 million aggregate principal amount of the 2022 Streeterville Note outstanding. We have historically incurred substantial losses, and as of March&#160;31, 2023, we had an accumulated deficit of $150.4 million. Additionally, our sales have been concentrated among a few major customers and for the three months ended March 31, 2023, three customers accounted for approximately 60% of net sales.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2022 and 2023, we recommitted to building upon the transformation activities started during 2019 and 2020 that sought to stabilize and regrow our business. These efforts include the following key developments that occurred during 2022 and 2023:</span></div><div style="margin-bottom:10pt;padding-left:38.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">We hired a permanent Chief Executive Officer in September 2022, following a period of interim leadership by our Lead Independent Director after the departure of our previous Chief Executive Officer in February 2022 and Chief Financial Officer and Chief Operating Officer in May 2022.</span></div><div style="margin-bottom:10pt;padding-left:38.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">We continued development of the second generation of EnFocus&#8482; powerline control switches and circadian lighting system for commercial markets, which as a result of supply chain challenges we now plan to launch in 2023. EnFocus&#8482; powerline control enables buildings to have dimmable, color tunable and circadian-ready lighting using existing wiring, without requiring laying additional cables or any wireless communication systems, through a relatively simple upgrade with EnFocus&#8482; switches and EnFocus&#8482; LED lamps. This upgrade offers a simpler, more secure, affordable and environmentally sustainable solution compared with replacing entire luminaire fixtures and incorporating additional wired or wireless communication.</span></div><div style="margin-bottom:10pt;padding-left:38.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">We reinvested in our MMM sales channel with a strategic hire in the second quarter of 2022 and are pursuing existing and new sales opportunities, though the sales cycles for what are frequently made-to-order products are longer than commercial offerings.</span></div><div style="margin-bottom:10pt;padding-left:38.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Beginning in July 2022, we reduced our warehouse square footage, and undertook an inventory reduction project throughout 2022 focused on reducing our highly reserved commercial finished good inventory.</span></div><div style="margin-bottom:10pt;padding-left:38.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">The Company has aggressively re-evaluated operating expenses, and reduced its workforce significantly throughout 2022 and the first quarter of 2023 to manage fixed costs.</span></div><div style="padding-left:38.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">We continued to seek additional external funding alternatives and sources to support our growth strategies, plans and initiatives:</span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt">In April 2022, we entered into a note purchase agreement with Streeterville Capital, LLC (&#8220;Streeterville&#8221;) pursuant to which we sold and issued to Streeterville a promissory note (the &#8220;2022 Streeterville Note&#8221;) in the principal amount of approximately $2.0 million, with net proceeds of approximately $1.8 million. </span></div><div style="padding-left:38.25pt"><span><br/></span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;     In June 2022, we completed a private placement (the &#8220;June 2022 Private Placement&#8221;) with certain institutional investors pursuant to which we agreed to issue and sell (i) 1,313,462 shares of our common stock, (ii) pre-funded warrants to purchase 1,378,848 shares of common stock at an exercise price of $0.0001 per share and (iii) warrants to purchase up to an aggregate of 2,692,310 shares of common stock at an exercise price of $1.30 per share. Net proceeds from the June 2022 Private Placement were approximately $3.2 million. </span></div><div style="padding-left:74.25pt"><span><br/></span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;     From September 2022 to December 2022, we secured short-term unsecured bridge financing of $800 thousand from a member of the Board of Directors and an aggregate of $650 thousand of short-term unsecured bridge financing from private parties, all of which was converted into equity in January 2023 at the time of a strategic investment by Sander Electronics, Inc.</span></div><div style="padding-left:74.25pt"><span><br/></span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;     In October 2022 and December 2022, we repaid the promissory note that we issued and sold to  Streeterville on April 27, 2021 by exchanging the approximately $330 thousand aggregate principal amount outstanding for common stock priced at-the-market.</span></div><div style="padding-left:74.25pt"><span><br/></span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;     During January 2023, we sold an aggregate of $250 thousand of common stock to a member of the Board of Directors in private placements at fair market value, and also converted the approximately $809 thousand principal amount outstanding on previously issued short-term promissory notes issued to that director in connection with the $800 thousand short-term unsecured bridge financing, as discussed above, at fair market value.</span></div><div style="padding-left:74.25pt"><span><br/></span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;     In January 2023, we sold an aggregate of $2.7 million of common stock to certain purchasers associated with Sander Electronics, Inc., including conversion of the approximately $609 thousand principal amount outstanding on previously outstanding short-term promissory notes issued in connection with the $650 thousand short-term unsecured bridge financing, as discussed above, priced at-the-market. </span></div><div style="padding-left:74.25pt"><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;     In January 2023, we amended our inventory lending facility with Crossroads Financial Group, LLC (the &#8220;Inventory Facility&#8221;), reducing the maximum availability to $500 thousand, reducing monthly fees and paying down an aggregate of $1.0 million of outstanding borrowings under the Inventory Facility in January and February 2023.</span></div><div style="padding-left:74.25pt"><span><br/></span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;     In January 2023, we amended the terms of the 2022 Streeterville Note with Streeterville, agreeing to make $750 thousand in payments in 2023 and deferring other payments until 2024.</span></div><div style="padding-left:74.25pt"><span><br/></span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;     In February 2023, we agreed to terminate our accounts receivable lending facility with Factors Southwest L.L.C. (d/b/a FSW Funding) (the &#8220;Receivables Facility&#8221; and, together with the Inventory Facility, the &#8220;Credit Facilities&#8221;), reducing our monthly borrowing costs.</span></div><div style="padding-left:74.25pt"><span><br/></span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;     In February 2023, we sold an aggregate of $400 thousand of common stock to a member of the Board of Directors in a private placement at fair market value.</span></div><div style="padding-left:74.25pt"><span><br/></span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;    In March 2023, we repaid a portion of the 2022 Streeterville Note by exchanging approximately $500 thousand aggregate principal amount outstanding for common stock priced at-the-market. </span></div><div style="padding-left:74.25pt"><span><br/></span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#9702;     In March 2023, we entered into two private placement agreements, pursuant to which aggregate gross proceeds to the Company in respect of the private placements were $305 thousand, before deducting estimated offering expenses payable by the Company.</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:112%"> </span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span><br/></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During 2022, we continued to broaden our product distribution network by engaging with new lighting agencies and energy service companies (&#8220;ESCOs&#8221;). We also redoubled our efforts from 2020 and 2021 to streamline our operations by closely managing all spending done throughout the Company, while investing in new products and strategies that sought to reenergize sales.  </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Throughout 2022, due to lingering economic and building occupancy impacts from the COVID-19 pandemic, we experienced continuing weakness in commercial sales as our customers in the healthcare, education, and commercial and industrial sectors put lighting retrofit projects on hold or delayed order placements. We continue to monitor the long-term impact of the COVID-19 pandemic on our customers, suppliers and logistics providers, and to evaluate governmental pandemic response. Although the significance and duration of the ongoing impact on our customers and us is still uncertain, and the specific timing of business recovery from the impact of the COVID-19 pandemic is still difficult to predict, we remain optimistic that facility capital budgets will start unfreezing, commercial building occupancy will rise, and our growth efforts will further impact our financial performance in a positive way.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We will seek to remain agile as an organization to respond to potential or continuing weakness in the macroeconomic environment and in the meantime seek to expand sales channels and enter new markets that we believe will provide additional growth opportunities. We plan to achieve profitability through developing and launching new, innovative products, such as our EnFocus</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">TM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> powerline control systems, our Redcap</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> emergency battery backup tubular TLEDs, evaluating new growth opportunities such as GaN-based power supply circuitry and other energy solution products, as well as executing on our multi-channel sales strategy that targets key verticals, such as government, healthcare, education and commercial and industrial, complemented by our marketing outreach campaigns and expanding channel partnerships. We also plan to continue to develop advanced lighting and lighting control applications built upon the EnFocus</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">TM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> platform that aim to serve the commercial markets. In addition, we intend to continue to apply rigorous financial discipline in our organizational structure, decision-making, business processes and policies, strategic sourcing activities and supply chain practices to help accelerate our path towards profitability.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 21, 2021, we received a letter from the Listing Qualifications staff (the &#8220;Staff&#8221;) of The Nasdaq Stock Market LLC (&#8220;Nasdaq&#8221;) notifying us that, as a result of the resignation of a director, as previously disclosed, from the Board of Directors and the Audit and Finance Committee, we were not in compliance with Nasdaq Listing Rule 5605, which requires that our Audit and Finance Committee be comprised of at least three directors, all of whom are independent pursuant to the rules of Nasdaq and applicable law. The notification letter had no immediate effect on our listing on the Nasdaq Capital Market. The letter further provided that, pursuant to Nasdaq Listing Rule 5605(c)(4), we were entitled to a cure period to regain compliance with Nasdaq Listing Rule 5605. On February 24, 2022, we announced the appointment of two additional independent directors, one of which, was appointed to fill the vacancy on the Audit and Finance Committee, bringing us into compliance with Nasdaq Listing Rule 5605.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 23, 2022, we received a letter from the Staff notifying us that we were no longer in compliance with the requirement to maintain a minimum closing bid price of $1.00 per share, as set forth in Nasdaq Listing Rule 5550(a)(2) (the &#8220;Bid Price Rule&#8221;), because the closing bid price for our common stock was below the minimum $1.00 per share for 30 consecutive business days. In accordance with Nasdaq Listing Rule 5810(c)(3)(A), we were provided an initial period of 180 calendar days, or until February 20, 2023, to regain compliance with the Bid Price Rule. During the initial compliance period, our common stock continued to trade on the Nasdaq Capital Market, but did not satisfy the Bid Price Rule.  </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November 16, 2022, we received a letter from the Staff notifying us that we were no longer in compliance with Nasdaq Listing Rule 5550(b)(1), which requires listed companies to maintain stockholders&#8217; equity of at least $2.5 million if they do not meet the alternative compliance standards relating to the market value of listed securities or net income from continuing operations (the &#8220;Minimum Stockholders&#8217; Equity Rule&#8221;). Our Form 10-Q for the Quarterly Period Ended September 30, 2022 filed on November 10, 2022 reflected that our stockholders&#8217; equity as of September 30, 2022 was $1.5 million. Based on our timely submission of our plan to regain compliance (the &#8220;Stockholders&#8217; Equity Requirement Plan&#8221;), Nasdaq granted us an extension through May 15, 2023 to regain compliance with the Minimum Stockholders&#8217; Equity Rule.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 21, 2023, we received written notification (the &#8220;Bid Price Notification&#8221;) from the Staff stating that we had not regained compliance with the Bid Price Rule and our common stock was subject to delisting from Nasdaq. On February 24, 2023, we submitted a request for a hearing before the Nasdaq Hearings Panel (the &#8220;Panel&#8221;) to appeal the delisting (the &#8220;Appeal&#8221;). Under Nasdaq rules, the delisting of the Company&#8217;s common stock was stayed during the pendency of the Appeal and, during such time, the Company&#8217;s common stock continued to be listed on Nasdaq.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 28, 2023, the Company received written notification (the &#8220;Additional Staff Determination&#8221;) from the Staff stating that (i) following the Bid Price Notification, and in accordance with Listing Rule 5810(c)(2)(A), Nasdaq is no longer permitted to consider the Stockholders&#8217; Equity Requirement Plan, (ii) the Additional Staff Determination serves as an additional basis for delisting the Company&#8217;s common stock from Nasdaq and (iii) the Panel will consider the Additional Staff Determination in rendering a determination regarding the continued listing of the Company&#8217;s common stock on Nasdaq.</span></div><div><span><br/></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April 6, 2023, the Company participated in the Appeal before the Panel. The Company provided an update to the Panel on the Company&#8217;s substantial progress made towards the previously submitted Stockholders&#8217; Equity Requirement Plan during the three months ended March 31, 2023, and requested the Panel grant the Company an exception to (1) re-allow the previously granted exception until May 15, 2023 for the Company to regain compliance with the Minimum Stockholders&#8217; Equity Rule and (2) grant an exception allowing the Company up to 180 days following the Bid Price Notification to regain compliance with the Bid Price Rule by effecting a reverse stock split following stockholder approval at the 2023 annual meeting of the Company&#8217;s stockholders. On May 1, 2023, the Panel granted the Company&#8217;s request to continue the Company&#8217;s listing on Nasdaq, subject to the following conditions: (1) on or before May 15, 2023, the Company shall file with the Securities and Exchange Commission its quarterly report for the three months ended March 31, 2023 demonstrating compliance with the Minimum Stockholders&#8217; Equity Rule and (2) on or before July 7, 2023, the Company shall demonstrate compliance with the Bid Price Rule.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of the date of this Quarterly Report, the Company believes it has regained compliance with the Minimum Stockholders&#8217; Equity Rule for continued listing on the Nasdaq Capital Market. However, there can be no assurance that the Company will be able to regain compliance with the Bid Price Rule or maintain compliance with the Minimum Stockholders&#8217; Equity Rule, Bid Price Rule, or other Nasdaq listing requirements. If the Company fails to regain compliance with Nasdaq&#8217;s continued listing standards in accordance with the Panel&#8217;s decision, the Company&#8217;s common stock will be subject to delisting from Nasdaq.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_109"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Liquidity and</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">capital</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">resources</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Cash</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At March&#160;31, 2023, our cash balance was approximately $301 thousand, compared to approximately $52 thousand at December&#160;31, 2022.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes cash flows from operating, investing, and financing activities, as reflected in the Condensed Consolidated Statements of Cash Flows included in Part I, Item 1, &#8220;Financial Statements,&#8221; of this Quarterly Report (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.815%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.566%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.550%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.569%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash used in operating activities</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,183)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,703)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash used in investing activities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(35)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash provided by financing activities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,432&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">281&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Net cash used in operating activities</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash used in operating activities was $1.2 million for the three months ended March 31, 2023. The net loss for the three months ended March 31, 2023 was $1.3 million and was adjusted for non-cash items, including depreciation and amortization, stock-based compensation, provisions for inventory, warranty, and accounts receivable reserves and working capital changes. During the three months ended March 31, 2023, we generated $562 thousand from inventory and  $66 thousand due to changes in accrued and other liabilities. We used $496 thousand through the timing of collection of accounts receivable and $27 thousand from accounts payable due to the timing of inventory receipts and payments. .</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash used in operating activities was $2.7 million for the three months ended March 31, 2022. The net loss for the three months ended March 31, 2022 was $2.8 million and was adjusted for non-cash items, including depreciation and amortization, stock-based compensation, provisions for inventory, warranty, gain on forgiveness of the Paycheck Protection Program (PPP) loan and accounts receivable reserves and working capital changes. During the three months ended March 31, 2022, we generated $61 thousand in cash from accounts payable due to the timing of inventory receipts and payments, and $83 thousand through the timing of collection of accounts receivable. We used $370 thousand for inventories primarily due to the timing of inventory receipts, and we used $211 thousand due to changes in accrued and other liabilities (primarily due to a reduction of $0.1 million in accrued accounting and legal fees and $0.2 million in accrued bonuses; partially offset by increases of $100 thousand in accrued payroll).</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Net cash used in investing activities</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended March 31, 2022, net cash used in investing activities was $35 thousand and resulted primarily from the purchase of software and a vehicle to support production operations, as well as development of the e-commerce platform.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Net cash provided by financing activities</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash provided by financing activities during the three months ended March 31, 2023 was $1.4 million, primarily related to proceeds from the private placement of common stock of $3.0 million, offset by net payments on the Credit Facilities of $1.1 million and the 2022 Streeterville Note of $500 thousand.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2022, all of the Company&#8217;s pre-funded warrants to purchase 85,228 shares of common stock at an exercise price of $0.0001 per share that were issued in December 2021 were exercised. As of March 31, 2023, warrants issued in December 2021 (the &#8220;December 2021 Warrants&#8221;) exercisable for an aggregate of 1,278,413 shares remained outstanding with an exercise price of $3.52 per share. The December 2021 Warrants expire on December 16, 2026. The exercise of the remaining December 2021 Warrants outstanding could provide us with cash proceeds of up to $4.5 million in the aggregate.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash provided by financing activities during the three months ended March 31, 2022 was $281 thousand, primarily related to net proceeds from borrowings under the Credit Facilities of $897 thousand and proceeds from the exercise of 156,446 warrants of $0.</span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_112"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contractual and other obligations</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March&#160;31, 2023, we had approximately $1.4&#160;million in outstanding purchase commitments for inventory. Almost all of this amount is expected to ship in the second quarter of 2023, with the balance expected to ship in the third quarter of 2023 and thereafter. Included in the total of outstanding purchase commitments are orders of $733&#160;thousand to a related party.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no other material changes to our contractual and other obligations as compared to those included in our 2022 Annual Report.</span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_115"></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Critical accounting policies</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no material changes to our critical accounting policies as compared to those included in our 2022 Annual Report.</span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_118"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Certain risks and concentrations</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have certain customers whose net sales individually represented 10% or more of our total net sales, or whose net trade accounts receivable balance individually represented 10% or more of our total net trade accounts receivable; we have certain suppliers, which individually represent 10% or more of our total purchases, or whose trade accounts payable balance individually represented 10% or more of our total trade accounts payable balance, as follows:</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended March 31, 2023, sales to our primary distributor for the U.S. Navy, a U.S. Navy shipbuilder, and  a distributor to the U.S. Department of Defense, accounted for approximately 22%, 27%, and 11% of net sales, respectively. When sales for our top military customers are combined, total net sales of military products comprised approximately 49% of net sales for the same period. For the three months ended March 31, 2022, sales to our primary distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a commercial building systems provider, accounted for approximately 15%, 21%, and 19% of net sales, respectively. When sales to our primary distributor for the U.S. Navy are combined with sales to shipbuilders for the U.S. Navy, total net sales of products for the U.S. Navy comprised approximately 37% of net sales for the same period.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a distributor to the U.S. Department of Defense, accounted for approximately 32%, 22%, and 17% of net trade accounts receivable, respectively, at March&#160;31, 2023. At December&#160;31, 2022, a distributor to the U.S. Department of Defense accounted for 25% of our net trade accounts receivable and a shipbuilder for the U.S. Navy accounted for 30% of our net trade accounts receivable.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No one supplier accounted for more than 10% of our total expenditures for the three months ended March&#160;31, 2023. For the three months ended March 31, 2022, one offshore supplier accounted for approximately 19% of total expenditures.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At March&#160;31, 2023 and December&#160;31, 2022, one offshore supplier accounted for approximately 36% of our trade accounts payable balance for each quarter. </span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_121"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recent accounting pronouncements</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For information on recent accounting pronouncements, please refer to Note 2, &#8220;Basis of Presentation and Summary of Significant Accounting Policies,&#8221; included under Part I, Item 1, &#8220;Financial Statements,&#8221; of this Quarterly Report.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_124"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 3. QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a &#8220;smaller reporting company&#8221; as defined by Item 10 of Regulation S-K, the Company is not required to provide information required by this item.</span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_127"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 4. CONTROLS AND PROCEDURES</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Evaluation of disclosure controls and procedures</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We maintain disclosure controls and procedures, as defined in Rule 13a-15(e) and Rule 15d-15(e) under the Exchange Act that are designed to ensure that information required to be disclosed by us in the reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the rules and forms of the Securities and Exchange Commission, and that such information is accumulated and communicated to management, including our Chief Executive Officer, as appropriate, to allow for timely decisions regarding required disclosure.</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to Rule 13a-15(b) under the Exchange Act, our management must evaluate, with the participation of our Chief Executive Officer, the effectiveness of our disclosure controls and procedures, as of March&#160;31, 2023, the end of the period covered by this Quarterly Report. Management, with the participation of our Chief Executive Officer, did evaluate the effectiveness of our disclosure controls and procedures as of the end of period covered by this Quarterly Report. Based on this evaluation, our Chief Executive Officer concluded that our disclosure controls and procedures were effective as of March&#160;31, 2023.</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Changes in internal control over financial reporting</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the quarterly period covered by this Quarterly Report, there have not been any changes in our internal control over financial reporting that materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_130"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART II &#8211; OTHER INFORMATION</span></div><div><span><br/></span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_133"></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 1. LEGAL PROCEEDINGS</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, we may be involved in various claims and legal actions arising in the ordinary course of business. As of March&#160;31, 2023, we were not involved in any material legal proceedings.</span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_136"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 1A. RISK FACTORS</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a &#8220;smaller reporting company&#8221; as defined by Item 10 of Regulation S-K, the Company is not required to provide information required by this item.</span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_139"></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_142"></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 3. DEFAULTS UPON SENIOR SECURITIES</span></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_145"></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 4. MINE SAFETY DISCLOSURES</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Not Applicable.</span></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_148"></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 5. OTHER INFORMATION</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 10, 2023, the Company received notice from James R. Warren regarding his intention to resign as Senior Vice President, General Counsel and Corporate Secretary of the Company later this year in order to pursue other personal and professional opportunities.</span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_151"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div><span><br/></span></div></div><div style="-sec-extract:summary"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 6. EXHIBITS</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT INDEX</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:9.017%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:88.783%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exhibit<br/>Number</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Description of Documents</span></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.1</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000143774913014640/ex3-1.htm">Certificate of Incorporation of Energy Focus, Inc. (incorporated by reference to Appendix A to the Registrant&#8217;s Definitive Proxy Statement on Schedule 14A filed on May 1, 2006).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.2</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000013/ex32-10xk123119.htm">Certificate of Amendment to the Certificate of Incorporation of Energy Focus, Inc. filed with the Secretary of State of the State of Delaware on June 21, 2010 (incorporated by reference to Exhibit 3.2 to the Registrant&#8217;s Annual Report on Form 10-K filed on March 24, 2020).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.3</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000013/ex33-10xk123119.htm">Certificate of Amendment to the Certificate of Incorporation of Energy Focus, Inc. filed with the Secretary of State of the State of Delaware on October 9, 2012 (incorporated by reference to Exhibit 3.3 to the Registrant&#8217;s Annual Report on Form 10-K filed on March 24, 2020).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.4</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000013/ex34-10xk123119.htm">Certificate of Amendment to the Certificate of Incorporation of Energy Focus, Inc. filed with the Secretary of State of the State of Delaware on October 28, 2013 (incorporated by reference to Exhibit 3.4 to the Registrant&#8217;s Annual Report on Form 10-K filed on March 24, 2020).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.5</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000143774914012834/ex3-1.htm">Certificate of Amendment to the Certificate of Incorporation of Energy Focus, Inc. filed with the Secretary of State of the State of Delaware on July 16, 2014 (incorporated by reference to Exhibit 3.1 to the Registrant&#8217;s Current Report on Form 8-K filed on July 16, 2014).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.6</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000162828015005460/exhibitno31certificateof.htm">Certificate of Amendment to the Certificate of Incorporation of Energy Focus, Inc. filed with the Secretary of State of the State of Delaware on July 24, 2015 (incorporated by reference to Exhibit 3.1 to the Registrant&#8217;s Current Report on Form 8-K filed on July 27, 2015).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.7</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000013/ex37-10xk123119.htm">Certificate of Amendment to the Certificate of Incorporation of Energy Focus, Inc. filed with the Secretary of State of the State of Delaware on January 15, 2020 (incorporated by reference to Exhibit 3.7 to the Registrant&#8217;s Annual Report on Form 10-K filed on March 24, 2020).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.8</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000020/ex31-certofdesigpstk.htm">Certificate of Designation of Series A Convertible Preferred Stock of Energy Focus, Inc. (incorporated by reference to Exhibit 3.1 to the Registrant&#8217;s Current Report on Form 8-K filed on April 1, 2019).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.9</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000044/ex31amendcertofdesignat.htm">Amendment to the Certificate of Designation of Series A Convertible Preferred Stock of Energy Focus, Inc. (incorporated by reference to Exhibit 3.1 to the Registrant&#8217;s Current Report on Form 8-K filed on May 30, 2019).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.10</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000013/ex310-10xk123119.htm">Amendment to the Certificate of Designation of Series A Convertible Preferred Stock of Energy Focus, Inc. filed with the Secretary of State of the State of Delaware on January 15, 2020 (incorporated by reference to Exhibit 3.10 to the Registrant&#8217;s Annual Report on Form 10-K filed on March 24, 2020).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.11</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000054/exhibit31certificateof.htm">Certificate of Amendment of Certificate of Incorporation, dated June 11, 2020 (incorporated by reference to Exhibit 3.1 to the Registrant&#8217;s Current Report on Form 8-K filed on June 11, 2020).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.12</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000044/exhibit31bylawsofenerg.htm">Bylaws of Energy Focus, Inc. (incorporated by reference to Exhibit 3.1 to the Registrant&#8217;s Current Report on Form 8-K filed on May 18, 2020).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.13</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000114420407023964/v073944_ex3-1.htm">Certificate of Ownership and Merger, Merging Energy Focus, Inc., a Delaware corporation, into Fiberstars, Inc., a Delaware corporation, filed with the Secretary of State of the State of Delaware on May 4, 2007 (incorporated by reference to Exhibit 3.1 to the Registrant&#8217;s Quarterly Report on Form 10-Q filed on May 10, 2007).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.1</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh101-efoijan52023pipe.htm">Se</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh101-efoijan52023pipe.htm">curities Purchase Agreement, dated as of January 5, 2023, between the Company and M</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh101-efoijan52023pipe.htm">ei Yun (Gina) H</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh101-efoijan52023pipe.htm">uang (incorporated by reference to Exhibit 101 to the </a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh101-efoijan52023pipe.htm">Registrant</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh101-efoijan52023pipe.htm">&#8217;</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh101-efoijan52023pipe.htm">s Current Report on Form 8-K filed on January 11, 2023</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh101-efoijan52023pipe.htm">)</a></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">.</span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.2</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh102-efoijan102023pipe.htm">Securities</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh102-efoijan102023pipe.htm"> Purchase Agreement, dated as of </a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh102-efoijan102023pipe.htm">January </a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh102-efoijan102023pipe.htm">10</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh102-efoijan102023pipe.htm">, 2023, between the Compa</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh102-efoijan102023pipe.htm">ny and Mei Yun (Gina)</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh102-efoijan102023pipe.htm"> Huang (incorporated by reference to Exhibit 10.2 to the Registrant</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh102-efoijan102023pipe.htm">&#8217;</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh102-efoijan102023pipe.htm">s Current Report on </a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000006/exh102-efoijan102023pipe.htm">Form 8-K filed on January 11, 2023).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.3</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex101efoijan2023pipespavf.htm">Form of Securities Purchase Agreement, dated as of January 17, 2023, between the Company and </a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex101efoijan2023pipespavf.htm">e</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex101efoijan2023pipespavf.htm">ach purchaser named in the signature pages thereto (incorporated by refer</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex101efoijan2023pipespavf.htm">ence to Exhibit 10.1 to the Registrant</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex101efoijan2023pipespavf.htm">&#8217;</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex101efoijan2023pipespavf.htm">s Current Report on Form 8-K filed on January 23, 2023)</a></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">.</span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.4</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex102efoijan2022rravf.htm">Form of Registration Rights Agreement, dated as of January 17, 2023 between the Company and each p</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex102efoijan2022rravf.htm">urchaser named in the signature pages thereto (inc</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex102efoijan2022rravf.htm">orporated by </a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex102efoijan2022rravf.htm">reference</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex102efoijan2022rravf.htm"> to Exhibit 10.2 to the Registrant</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex102efoijan2022rravf.htm">&#8217;</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex102efoijan2022rravf.htm">s Current Report on Form 8-K fil</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex102efoijan2022rravf.htm">ed on January 23, 2023).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.5</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex103formofexchangeagreeme.htm">Form of Exchange Agreement, dated January 17, 2023, between the Company and Mei Yun (Gina) Huang (incorporated by reference to Exhibit 10.3 to the Registrant&#8217;s Current Report on Form 8-K filed on January 23, 2023).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.6</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex104crossroadsenergyfocus.htm">Second Amendment to Loan and Security Agreement, dated January 18, 2023, between the Company and Crossroads Financial Group, LLC (incorporated by reference to Exhibit 10.4 to the Registrant&#8217;s Current Report on Form 8-K filed on January 23, 2023).</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.7</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000010/ex105streetervillenoteamen.htm">Amendment to Promissory Note, dated January 17, 2023, between the Company and Streeterville Capital, LLC (incorporated by reference to Exhibit 10.5 to the Registrant&#8217;s Current Report on Form 8-K filed on January 23, 2023).</a></span></div></td><td colspan="3" style="display:none"></td></tr></table></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:9.017%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:88.783%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.8</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000028/exh101-efoifeb242023pipe.htm">Securities Purchase Agreement, dated as of February 24, 2023, between the Company and Mei Yun (Gina) Huang (incorporated by reference to Exhibit 10</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000028/exh101-efoifeb242023pipe.htm">.</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000028/exh101-efoifeb242023pipe.htm">1 to the Registrant&#8217;s Current Report on Form 8-K filed on </a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000028/exh101-efoifeb242023pipe.htm">Februar</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000028/exh101-efoifeb242023pipe.htm">y</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000028/exh101-efoifeb242023pipe.htm"> </a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000028/exh101-efoifeb242023pipe.htm">28</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/924168/000092416823000028/exh101-efoifeb242023pipe.htm">, 2023)</a></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">.</span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.9+</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a20230331exh109xefoimarch2.htm">Securities Purchase Agreement, dated as of March 28, 2023, between the Company and Chiao Chieh (Jay) Huang.</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.10+</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a20230331exh1010xefoimarch.htm">Securities Purchase Agreement, dated as of March 30, 2023, between the Company and Mei Yun (Gina) Huang.</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.11+</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="exh1011streetervile2023-03.htm">Exchange Agreement, dated as of March 31, 2023, between the Company and Streeterville Capital, LLC.</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31.1+</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a20230331exhibit31110-q.htm">Certification of </a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a20230331exhibit31110-q.htm">Principal Executive Officer and Principal Financial Officer</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a20230331exhibit31110-q.htm"> Pursuant to Section </a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a20230331exhibit31110-q.htm">302</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a20230331exhibit31110-q.htm"> of the Sarbanes-Oxley Act of 2002.</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32.1++</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a20230331exhibit32110-q.htm">Certification of </a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a20230331exhibit32110-q.htm">Pr</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a20230331exhibit32110-q.htm">incipal</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a20230331exhibit32110-q.htm"> Executive Officer and </a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a20230331exhibit32110-q.htm">Principal </a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="a20230331exhibit32110-q.htm">Financial Officer Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</a></span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*101</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">The following financial information from our Quarterly Report for the quarter ended March&#160;31, 2023, formatted in XBRL (eXtensible Business Reporting Language): (i) Condensed Consolidated Balance Sheets at March&#160;31, 2023 and December&#160;31, 2022, (ii) Condensed Consolidated Statements of Operations for the three months ended March&#160;31, 2023 and 2022, (iii) Condensed Consolidated Statements of Changes in Stockholders&#8217; Equity for the three months ended March&#160;31, 2023 and 2022, (v) Condensed Consolidated Statements of Cash Flows for the three and three months ended March 31, 2023 and 2022, and (vi) the Notes to Condensed Consolidated Financial Statements.</span></div></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*104</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cover Page Interactive Data File (embedded within the Inline XBRL document)</span></td><td colspan="3" style="display:none"></td></tr></table></div><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">*&#160;&#160;&#160;&#160;Pursuant to Regulation S-T, this interactive data file is not deemed filed for purposes of Section 11 of the Securities Act, or Section 18 of the Exchange Act, or otherwise subject to the liabilities of these sections.</span></div><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">+ &#160;&#160;&#160;&#160;Filed herewith.</span></div><div style="padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">++  This exhibit shall not be deemed &#8220;filed&#8221; for purposes of Section 18 of the Exchange Act or otherwise subject to the liability of that section. Such exhibit shall not be deemed incorporated into any filing under the Securities Act or the Exchange Act.</span></div><div style="padding-left:18pt;text-indent:-18pt"><span><br/></span></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41</span></div></div></div><div id="i137ef4de63f24bc79d9040dc6b8448eb_154"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span><br/></span></div></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SIGNATURES</span></div><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#160;</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.</span></div><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.245%"><tr><td style="width:1.0%"></td><td style="width:4.405%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:48.304%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.513%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:39.378%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 11, 2023</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Lesley A. Matt</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lesley A. Matt</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Executive Officer</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(Principal Executive Officer, Principal Financial Officer and Principal Accounting Officer)</span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center"><span><br/></span></div><div><span><br/></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42</span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.9
<SEQUENCE>2
<FILENAME>a20230331exh109xefoimarch2.htm
<DESCRIPTION>EX-10.9
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i905ccf3290274ad580a50161444f71c9_1"></div><div style="min-height:72pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Exhibit 10.9</font></div></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">SECURITIES PURCHASE AGREEMENT</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">This Securities Purchase Agreement (this &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) is dated as of March 28, 2023, between Energy Focus, Inc., a Delaware corporation (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;), and each purchaser identified on the signature pages hereto (each, including its successors and assigns, a &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Purchaser</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; and, collectively, the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Purchasers</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;).</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">WHEREAS, subject to the terms and conditions set forth in this Agreement and pursuant to Section 4(a)(2) of the Securities Act (as defined below), and Rule 506 promulgated thereunder, the Company desires to issue and sell to each Purchaser, and each Purchaser, severally and not jointly, desires to purchase from the Company, securities of the Company as more fully described in this Agreement.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">NOW, THEREFORE, IN CONSIDERATION of the mutual covenants contained in this Agreement, and for other good and valuable consideration, the receipt and adequacy of which are hereby acknowledged, the Company and each Purchaser agree as follows&#58;</font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">ARTICLE I.<br>DEFINITIONS</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">1.1&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Definitions</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. In addition to the terms defined elsewhere in this Agreement, for all purposes of this Agreement, the following terms have the meanings set forth in this Section 1.1&#58;</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Affiliate</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means any Person that, directly or indirectly through one or more intermediaries, controls or is controlled by or is under common control with a Person, as such terms are used in and construed under Rule 405 under the Securities Act.  </font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Board of Directors</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the board of directors of the Company.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Business Day</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means any day other than Saturday, Sunday or other day on which commercial banks in The City of New York are authorized or required by law to remain closed&#59;</font><font style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> </font><font style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">provided</font><font style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">, </font><font style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">however</font><font style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">, for clarification, commercial banks shall not be deemed to be authorized or required by law to remain closed due to &#8220;stay at home&#8221;, &#8220;shelter-in-place&#8221;, &#8220;non-essential employee&#8221;&#160; or any other similar orders or restrictions or the closure of any physical branch locations at the direction of any governmental authority so long as the electronic funds transfer systems (including for wire transfers) of commercial banks in The City of New York generally are open for use by customers on such day</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Closing</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the closing of the purchase and sale of the Securities pursuant to Section 2.1.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Closing Date</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the Trading Day on which all of the Transaction Documents have been executed and delivered by the applicable parties thereto, but in no event later than the second Trading Day following the date hereof.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Commission</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the United States Securities and Exchange Commission.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Common Stock</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the common stock of the Company, par value $0.0001 per share, and any other class of securities into which such securities may hereafter be reclassified or changed. </font></div><div style="padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Exchange Act</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the Securities Exchange Act of 1934, as amended, and the rules and regulations promulgated thereunder.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">1</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="padding-left:36pt;text-align:justify;text-indent:36pt"><font><br></font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Liens</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means a lien, charge, pledge, security interest, encumbrance, right of first refusal, preemptive right or other restriction.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Material Adverse Effect</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; shall have the meaning assigned to such term in Section 3.1(a).</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Per Share Purchase Price</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; equals $0.5069, subject to adjustment for reverse and forward stock splits, stock dividends, stock combinations and other similar transactions of the Common Stock that occur after the date of this Agreement.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Person</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means an individual or corporation, partnership, trust, incorporated or unincorporated association, joint venture, limited liability company, joint stock company, government (or an agency or subdivision thereof) or other entity of any kind.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Proceeding</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means an action, claim, suit, investigation or proceeding (including, without limitation, an informal investigation or partial proceeding, such as a deposition), whether commenced or threatened.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Rule 144</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means Rule 144 promulgated by the Commission pursuant to the Securities Act, as such Rule may be amended or interpreted from time to time, or any similar rule or regulation hereafter adopted by the Commission having substantially the same purpose and effect as such Rule.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">SEC Reports</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means all reports, schedules, forms, statements and other documents required to be filed by the Company under the Securities Act and the Exchange Act, including pursuant to Section 13(a) or 15(d) thereof, for the two years preceding the date hereof (or such shorter period as the Company was required by law or regulation to file such material).</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Securities</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the Shares.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Securities Act</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the Securities Act of 1933, as amended, and the rules and regulations promulgated thereunder.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Shares</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the shares of Common Stock issued to each Purchaser pursuant to this Agreement.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Short Sales</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means all &#8220;short sales&#8221; as defined in Rule 200 of Regulation SHO under the Exchange Act (but shall not be deemed to include locating and&#47;or borrowing shares of Common Stock).</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Subscription Amount</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means, as to each Purchaser, the aggregate amount to be paid for Shares purchased hereunder as specified below such Purchaser&#8217;s name on the signature page of this Agreement and next to the heading &#8220;Subscription Amount,&#8221; in United States dollars and in immediately available funds.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Trading Day</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means a day on which the Nasdaq Capital Market is open for trading.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Trading Market</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means any of the following markets or exchanges on which the Common Stock is listed or quoted for trading on the date in question&#58; the NYSE American, the Nasdaq Capital Market, the Nasdaq Global Market, the Nasdaq Global </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">2</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Select Market, the New York Stock Exchange, OTCQB or OTCQX (or any successors to any of the foregoing).</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Transaction Documents</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means this Agreement, the exhibits and all schedules hereto and any other documents or agreements executed in connection with the transactions contemplated hereunder.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Transfer Agent</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means Broadridge Corporate Issuer Solutions, P.O. Box 1342, Brentwood, New York 11717, and any successor transfer agent of the Company.</font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">ARTICLE II.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"><br></font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">PURCHASE AND SALE</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">2.1&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Closing</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  On the Closing Date, upon the terms and subject to the conditions set forth herein, the Company agrees to sell, and the Purchasers, severally and not jointly, agree to purchase, up to an aggregate of $400,000 of Shares.  Each Purchaser&#8217;s Subscription Amount as set forth on the signature page hereto executed by such Purchaser shall be made available for &#8220;Delivery Versus Payment&#8221; settlement with the Company or its designee.  The Company shall deliver to each Purchaser its respective Shares, and each Purchaser shall deliver the other items set forth in Section 2.2 at the Closing.  The Closing shall occur at the offices of the Company or such other location as the parties shall mutually agree.  Unless otherwise directed by the Purchasers, settlement of the Shares shall occur via &#8220;Delivery Versus Payment&#8221; (i.e., on the Closing Date, the Company shall issue the Shares registered in the respective Purchasers&#8217; names and addresses and released by the Transfer Agent directly to the account(s) identified by each Purchaser&#59; upon receipt of such Shares, payment for such Shares shall be made by the applicable Purchaser (or its clearing firm) by wire transfer to the Company).</font></div><div style="margin-bottom:12pt;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">2.2&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Payment</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  On or prior to the Closing Date, except as otherwise indicated below, each shall be made available for &#8220;Delivery Versus Payment&#8221; settlement with the Company or its designee.</font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">ARTICLE III.<br>REPRESENTATIONS AND WARRANTIES</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">3.1&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Representations and Warranties of the Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. The Company hereby makes the following representations and warranties to each Purchaser&#58;</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(a)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Organization and Qualification</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The Company is an entity duly incorporated or otherwise organized, validly existing and in good standing under the laws of Delaware, with the requisite power and authority to own and use its properties and assets and to carry on its business as currently conducted.  The Company is not in violation nor default of any of the provisions of its respective certificate of incorporation, bylaws or other organizational or charter documents.  The Company is duly qualified to conduct business and is in good standing as a foreign corporation or other entity in each jurisdiction in which the nature of the business conducted or property owned by it makes such qualification necessary, except where the failure to be so qualified or in good standing, as the case may be, would not reasonably be expected to result in (i) a material adverse effect on the legality, validity or enforceability of any Transaction Document, (ii) a material adverse effect on the results of operations, assets, business, or condition (financial or otherwise) of the Company, or (iii) a material adverse effect on the Company&#8217;s ability to perform in any material respect on a timely basis its obligations under any Transaction Document (any of clauses (i), (ii) or (iii), a &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Material Adverse Effect</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) and no Proceeding has been instituted in any such jurisdiction revoking, limiting </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">3</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">or curtailing or seeking to revoke, limit or curtail such power and authority or qualification.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(b)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Authorization&#59; Enforcement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The Company has the requisite corporate power and authority to enter into and to consummate the transactions contemplated by this Agreement and each of the other Transaction Documents and otherwise to carry out its obligations hereunder and thereunder.  The execution and delivery of this Agreement and each of the other Transaction Documents by the Company and the consummation by it of the transactions contemplated hereby and thereby have been duly authorized by all necessary action on the part of the Company and no further action is required by the Company, the Board of Directors or the Company&#8217;s stockholders in connection herewith or therewith other than in connection with the Required Approvals.  This Agreement and each other Transaction Document to which it is a party has been (or upon delivery will have been) duly executed by the Company and, when delivered in accordance with the terms hereof and thereof, will (assuming due execution, authorization and delivery by the parties thereto) constitute the valid and binding obligation of the Company enforceable against the Company in accordance with its terms, except (i) as limited by general equitable principles and applicable bankruptcy, insolvency, reorganization, moratorium and other laws of general application affecting enforcement of creditors&#8217; rights generally, (ii) as limited by laws relating to the availability of specific performance, injunctive relief or other equitable remedies and (iii) insofar as indemnification and contribution provisions may be limited by applicable law or public policy.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(c)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Issuance of the Securities</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The Securities are duly authorized. The Shares, when issued and paid for in accordance with the applicable Transaction Documents, will be duly and validly issued, fully paid and nonassessable, free and clear of all Liens imposed by the Company other than restrictions on transfer provided for in the Transaction Documents.  The Company has reserved from its duly authorized capital stock the maximum number of shares of Common Stock issuable pursuant to the Transaction Documents.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">3.2&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Representations and Warranties of the Purchasers</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Each Purchaser, for itself and for no other Purchaser, hereby represents and warrants as of the date hereof and as of the Closing Date to the Company as follows (unless as of a specific date therein, in which case they shall be accurate as of such date)&#58;</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(a)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Organization&#59; Authority</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Such Purchaser is an entity duly incorporated or formed, validly existing and in good standing under the laws of the jurisdiction of its incorporation or formation with full right, corporate, partnership, limited liability company or similar power and authority to enter into and to consummate the transactions contemplated by the Transaction Documents and otherwise to carry out its obligations hereunder and thereunder. The execution and delivery of the Transaction Documents and performance by such Purchaser of the transactions contemplated by the Transaction Documents have been duly authorized by all necessary corporate, partnership, limited liability company or similar action, as applicable, on the part of such Purchaser.  Each Transaction Document to which it is a party has been duly executed by such Purchaser, and when delivered by such Purchaser in accordance with the terms thereof, will constitute the valid and legally binding obligation of such Purchaser, enforceable against such Purchaser in accordance with its terms, except&#58; (i) as limited by general equitable principles and applicable bankruptcy, insolvency, reorganization, moratorium and other laws of general application affecting enforcement of creditors&#8217; rights generally, (ii) as limited by laws relating to the availability of specific performance, injunctive relief or other equitable remedies and (iii) insofar as indemnification and contribution provisions may be limited by applicable law or public policy.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">4</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(b)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Understandings or Arrangements</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Such Purchaser understands that the Securities are &#8220;restricted securities&#8221; and have not been registered under the Securities Act or any applicable state securities law and is acquiring the Securities as principal for its own account and not with a view to or for distributing or reselling such Securities or any part thereof in violation of the Securities Act or any applicable state securities law, has no present intention of distributing any of such Securities in violation of the Securities Act or any applicable state securities law and has no direct or indirect arrangement or understandings with any other persons to distribute or regarding the distribution of such Securities in violation of the Securities Act or any applicable state securities law (this representation and warranty not limiting such Purchaser&#8217;s right to sell the Securities pursuant to the Registration Statement or otherwise in compliance with applicable federal and state securities laws).  Such Purchaser is acquiring the Securities hereunder in the ordinary course of its business.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(c)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Purchaser Status</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  At the time such Purchaser was offered the Securities, it was, and as of the date hereof it is either&#58; (i) an &#8220;accredited investor&#8221; as defined in Rule 501(a)(1), (a)(2), (a)(3), (a)(7), (a)(8), (a)(9), (a)(12), or (a)(13) under the Securities Act or (ii) a &#8220;qualified institutional buyer&#8221; as defined in Rule 144A(a) under the Securities Act.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(d)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Experience of Such Purchaser</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Such Purchaser, either alone or together with its representatives, has such knowledge, sophistication and experience in business and financial matters so as to be capable of evaluating the merits and risks of the prospective investment in the Securities, and has so evaluated the merits and risks of such investment.  Such Purchaser is able to bear the economic risk of an investment in the Securities and, at the present time, is able to afford a complete loss of such investment.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(e)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">General Solicitation</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Such Purchaser is not purchasing the Securities as a result of any advertisement, article, notice or other communication regarding the Securities published in any newspaper, magazine or similar media or broadcast over television or radio or presented at any seminar or, to the knowledge of such Purchaser, any other general solicitation or general advertisement.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(f)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Access to Information</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. Such Purchaser acknowledges that it has had the opportunity to review the Transaction Documents (including all exhibits and schedules thereto) and the SEC Reports and has been afforded, (i) the opportunity to ask such questions as it has deemed necessary of, and to receive answers from, representatives of the Company concerning the terms and conditions of the offering of the Securities and the merits and risks of investing in the Securities&#59; (ii) access to information about the Company and its financial condition, results of operations, business, properties, management and prospects sufficient to enable it to evaluate its investment&#59; and (iii) the opportunity to obtain such additional information that the Company possesses or can acquire without unreasonable effort or expense that is necessary to make an informed investment decision with respect to the investment.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(g)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Certain Transactions and Confidentiality</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Other than consummating the transactions contemplated hereunder, such Purchaser has not, nor has any Person acting on behalf of or pursuant to any understanding with such Purchaser, directly or indirectly executed any purchases or sales, including Short Sales, of the securities of the Company during the period commencing as of the time that such Purchaser first received information about the offering of the Securities (written or oral) from the Company setting forth the material terms of the transactions contemplated hereunder and ending immediately prior to the execution hereof.  Other than to other Persons party to this Agreement or to such Purchaser&#8217;s representatives that are bound by confidentiality </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">obligations, including, without limitation, its officers, directors, partners, legal and other advisors, employees, agents and Affiliates, such Purchaser has maintained the confidentiality of all disclosures made to it in connection with this transaction (including the existence and terms of this transaction).  </font></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">The Company acknowledges and agrees that the representations contained in this Section 3.2 shall not modify, amend or affect such Purchaser&#8217;s right to rely on the Company&#8217;s representations and warranties contained in this Agreement or any representations and warranties contained in any other Transaction Document or any other document or instrument executed and&#47;or delivered in connection with this Agreement or the consummation of the transactions contemplated hereby, except to the extent that any such representations and warranties of the Company are made subject to or assuming the accuracy of the Purchaser&#8217;s representations contained in this Section 3.2.  Notwithstanding the foregoing, for the avoidance of doubt, nothing contained herein shall constitute a representation or warranty, or preclude any actions, with respect to locating or borrowing shares in order to effect Short Sales or similar transactions in the future.</font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">ARTICLE IV.<br>OTHER AGREEMENTS OF THE PARTIES</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">4.1&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Transfer Restrictions</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  </font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(a)&#160;&#160;&#160;&#160;The Securities may only be disposed of in compliance with state and federal securities laws.  In connection with any transfer of the Securities other than pursuant to an effective registration statement or Rule 144, to the Company or to an Affiliate of a Purchaser, the Company may require the transferor thereof to provide to the Company an opinion of counsel selected by the transferor and reasonably acceptable to the Company, the form and substance of which opinion shall be reasonably satisfactory to the Company, to the effect that such transfer does not require registration of such transferred Securities under the Securities Act.  As a condition of transfer, any such transferee shall agree in writing to be bound by the terms of this Agreement and the Registration Rights Agreement and shall have the rights and obligations of a Purchaser under this Agreement and the Registration Rights Agreement. </font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(b)&#160;&#160;&#160;&#160;The Purchasers agree to the imprinting of a legend on any of the Securities in the following form&#58;</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">THIS SECURITY HAS NOT BEEN REGISTERED WITH THE SECURITIES AND EXCHANGE COMMISSION OR THE SECURITIES COMMISSION OF ANY STATE IN RELIANCE UPON AN EXEMPTION FROM REGISTRATION UNDER THE SECURITIES ACT OF 1933, AS AMENDED (THE &#8220;SECURITIES ACT&#8221;), AND, ACCORDINGLY, MAY NOT BE OFFERED OR SOLD EXCEPT PURSUANT TO AN EFFECTIVE REGISTRATION STATEMENT UNDER THE SECURITIES ACT OR PURSUANT TO AN AVAILABLE EXEMPTION FROM, OR IN A TRANSACTION NOT SUBJECT TO, THE REGISTRATION REQUIREMENTS OF THE SECURITIES ACT AND IN ACCORDANCE WITH APPLICABLE STATE SECURITIES LAWS.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(c)&#160;&#160;&#160;&#160;Each Purchaser, severally and not jointly with the other Purchasers, agrees with the Company that such Purchaser will sell any Securities pursuant to either the registration requirements of the Securities Act, including any applicable prospectus delivery requirements, or an exemption therefrom, and that if Securities are sold pursuant to a registration statement, they will be sold in compliance with the plan of distribution set forth therein, and acknowledges that the removal of the restrictive legend from the </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">6</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">book entries representing Securities will be predicated upon the Company&#8217;s reliance upon this understanding.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">4.2&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Acknowledgment of Dilution</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The Company acknowledges that the issuance of the Securities may result in dilution of the outstanding shares of Common Stock, which dilution may be substantial under certain market conditions.  The Company further acknowledges that its obligations under the Transaction Documents, including, without limitation, its obligation to issue the Shares pursuant to the Transaction Documents, are unconditional and absolute and not subject to any right of set off, counterclaim, delay or reduction, regardless of the effect of any such dilution or any claim the Company may have against any Purchaser and regardless of the dilutive effect that such issuance may have on the ownership of the other stockholders of the Company.</font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">ARTICLE V.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"><br></font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">MISCELLANEOUS</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.1&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Termination</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.&#160; This Agreement may be terminated by any Purchaser, as to such Purchaser&#8217;s obligations hereunder only and without any effect whatsoever on the obligations between the Company and the other Purchasers, by written notice to the other parties, if the Closing has not been consummated on or before the fifth (5</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.8pt;font-weight:400;line-height:100%;position:relative;top:-4.2pt;vertical-align:baseline">th</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">) Trading Day following the date hereof&#59; </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">provided</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">, </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">however</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">, that no such termination will affect the right of any party to sue for any breach by any other party (or parties).</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.2&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Fees and Expenses</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Except as expressly set forth in the Transaction Documents to the contrary, each party shall pay the fees and expenses of its own advisers, counsel, accountants and other experts, if any, and all other expenses incurred by such party incident to the negotiation, preparation, execution, delivery and performance of the Transaction Documents.  The Company shall pay all Transfer Agent fees (including, without limitation, any fees required for same-day processing of any instruction letter delivered by the Company), stamp taxes and other taxes and duties levied in connection with the delivery of any Securities to the Purchasers.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.3&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Entire Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The Transaction Documents, together with the exhibits and schedules thereto, contain the entire understanding of the parties with respect to the subject matter hereof and thereof and supersede all prior agreements and understandings, oral or written, with respect to such matters, which the parties acknowledge have been merged into such documents, exhibits and schedules.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.4&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Notices</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Any and all notices or other communications or deliveries required or permitted to be provided hereunder shall be in writing and shall be deemed given and effective on the earliest of&#58; (a) the time of transmission, if such notice or communication is delivered via facsimile at the facsimile number or email attachment at the email address as set forth on the signature pages attached hereto at or prior to 5&#58;30 p.m. (New York City time) on a Trading Day, (b) the next Trading Day after the time of transmission, if such notice or communication is delivered via facsimile at the facsimile number or email attachment at the email address as set forth on the signature pages attached hereto on a day that is not a Trading Day or later than 5&#58;30 p.m. (New York City time) on any Trading Day, (c) the second Trading Day following the date of mailing, if sent by United States nationally recognized overnight courier service or (d) upon actual receipt by the party to whom such notice is required to be given.  The address for such notices and communications shall be as set forth on the signature pages attached hereto. To the extent that any notice provided pursuant to any Transaction Document constitutes or contains material, non-public information regarding the Company, the Company shall simultaneously file such notice with the Commission pursuant to a Current Report on Form 8-K.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">7</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.5&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Amendments&#59; Waivers</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  No provision of this Agreement may be waived, modified, supplemented or amended except in a written instrument signed, in the case of an amendment, by the Company and Purchasers which purchased at least a majority in interest of the Shares based on the initial Subscription Amounts hereunder (or, prior to the Closing Date, the Company and each Purchaser) or, in the case of a waiver, by the party against whom enforcement of any such waived provision is sought.  No waiver of any default with respect to any provision, condition or requirement of this Agreement shall be deemed to be a continuing waiver in the future or a waiver of any subsequent default or a waiver of any other provision, condition or requirement hereof, nor shall any delay or omission of any party to exercise any right hereunder in any manner impair the exercise of any such right. Any amendment effected in accordance with this Section 5.5 shall be binding upon each Purchaser and holder of Securities and the Company.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.6&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Headings</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The headings herein are for convenience only, do not constitute a part of this Agreement and shall not be deemed to limit or affect any of the provisions hereof.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.7&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Successors and Assigns</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  This Agreement shall be binding upon and inure to the benefit of the parties and their successors and permitted assigns.  The Company may not assign this Agreement or any rights or obligations hereunder without the prior written consent of each Purchaser (other than by merger).  Any Purchaser may assign any or all of its rights under this Agreement to any Person to whom such Purchaser assigns or transfers any Securities, provided that such transferee agrees in writing to be bound, with respect to the transferred Securities, by the provisions of the Transaction Documents that apply to the &#8220;Purchasers.&#8221;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.8&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">No Third-Party Beneficiaries</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  This Agreement is intended for the benefit of the parties hereto and their respective successors and permitted assigns and is not for the benefit of, nor may any provision hereof be enforced by, any other Person.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.9&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Governing Law</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  All questions concerning the construction, validity, enforcement and interpretation of the Transaction Documents shall be governed by and construed and enforced in accordance with the internal laws of the State of New York, without regard to the principles of conflicts of law thereof.  Each party agrees that all legal Proceedings concerning the interpretations, enforcement and defense of the transactions contemplated by this Agreement and any other Transaction Documents (whether brought against a party hereto or its respective affiliates, directors, officers, shareholders, partners, members, employees or agents) shall be commenced exclusively in the state and federal courts sitting in the City of New York.  Each party hereby irrevocably submits to the exclusive jurisdiction of the state and federal courts sitting in the City of New York, Borough of Manhattan for the adjudication of any dispute hereunder or in connection herewith or with any transaction contemplated hereby or discussed herein (including with respect to the enforcement of any of the Transaction Documents), and hereby irrevocably waives, and agrees not to assert in any Action or Proceeding, any claim that it is not personally subject to the jurisdiction of any such court, that such Action or Proceeding is improper or is an inconvenient venue for such Proceeding.  Each party hereby irrevocably waives personal service of process and consents to process being served in any such Action or Proceeding by mailing a copy thereof via registered or certified mail or overnight delivery (with evidence of delivery) to such party at the address in effect for notices to it under this Agreement and agrees that such service shall constitute good and sufficient service of process and notice thereof.  Nothing contained herein shall be deemed to limit in any way any right to serve process in any other manner permitted by law.   If any party shall commence an Action or Proceeding to enforce any provisions of the Transaction Documents, then, in addition to the obligations of the Company under Section 4.9, the prevailing party in such Action or Proceeding shall be reimbursed by the non-prevailing party for its reasonable attorneys&#8217; fees and other costs and expenses incurred with the investigation, preparation and prosecution of such Action or Proceeding.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">8</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.10&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Survival</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The representations and warranties contained herein shall survive the Closing and the delivery of the Securities.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.11&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Execution</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  This Agreement may be executed in two or more counterparts, all of which when taken together shall be considered one and the same agreement and shall become effective when counterparts have been signed by each party and delivered to each other party, it being understood that the parties need not sign the same counterpart.  In the event that any signature is delivered by facsimile transmission, by e-mail delivery of a &#8220;.pdf&#8221; format data file, by other electronic signing created on an electronic platform (such as DocuSign) or by digital signing (such as Adobe Sign), such signature shall create a valid and binding obligation of the party executing (or on whose behalf such signature is executed) with the same force and effect as if such facsimile, &#8220;.pdf&#8221;, electronic signing or digital signing signature page were an original thereof.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.12&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Severability</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  If any term, provision, covenant or restriction of this Agreement is held by a court of competent jurisdiction to be invalid, illegal, void or unenforceable, the remainder of the terms, provisions, covenants and restrictions set forth herein shall remain in full force and effect and shall in no way be affected, impaired or invalidated, and the parties hereto shall use their commercially reasonable efforts to find and employ an alternative means to achieve the same or substantially the same result as that contemplated by such term, provision, covenant or restriction. It is hereby stipulated and declared to be the intention of the parties that they would have executed the remaining terms, provisions, covenants and restrictions without including any of such that may be hereafter declared invalid, illegal, void or unenforceable.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.13&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Rescission and Withdrawal Right</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Notwithstanding anything to the contrary contained in (and without limiting any similar provisions of) any of the other Transaction Documents, whenever any Purchaser exercises a right, election, demand or option under a Transaction Document and the Company does not timely perform its related obligations within the periods therein provided, then such Purchaser may rescind or withdraw, in its sole discretion from time to time upon written notice to the Company, any relevant notice, demand or election in whole or in part without prejudice to its future actions and rights.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.14&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Replacement of Securities</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  If any certificate or instrument evidencing any Securities is mutilated, lost, stolen or destroyed, the Company shall issue or cause to be issued in exchange and substitution for and upon cancellation thereof (in the case of mutilation), or in lieu of and substitution therefor (in case of loss, theft or destruction), a new certificate or instrument, but only upon receipt of evidence reasonably satisfactory to the Company of such loss, theft or destruction and (in the case of loss, theft or destruction) of customary indemnity satisfactory to the Company.  The applicant for a new certificate or instrument under such circumstances shall also pay any reasonable third-party costs (including customary indemnity) associated with the issuance of such replacement Securities.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.15&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Remedies</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  In addition to being entitled to exercise all rights provided herein or granted by law, including recovery of damages, each of the Purchasers and the Company will be entitled to specific performance under the Transaction Documents.  The parties agree that monetary damages may not be adequate compensation for any loss incurred by reason of any breach of obligations contained in the Transaction Documents and hereby agree to waive and not to assert in any Action for specific performance of any such obligation the defense that a remedy at law would be adequate.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.16&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Payment Set Aside</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  To the extent that the Company makes a payment or payments to any Purchaser pursuant to any Transaction Document or a Purchaser enforces or exercises its rights thereunder, and such payment or payments or the proceeds of such enforcement or exercise or any part thereof are subsequently invalidated, declared to be </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">9</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">fraudulent or preferential, set aside, recovered from, disgorged by or are required to be refunded, repaid or otherwise restored to the Company, a trustee, receiver or any other Person under any law (including, without limitation, any bankruptcy law, state or federal law, common law or equitable cause of action), then to the extent of any such restoration the obligation or part thereof originally intended to be satisfied shall be revived and continued in full force and effect as if such payment had not been made or such enforcement or setoff had not occurred.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.17&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Independent Nature of Purchasers&#8217; Obligations and Rights</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The obligations of each Purchaser under any Transaction Document are several and not joint with the obligations of any other Purchaser, and no Purchaser shall be responsible in any way for the performance or non-performance of the obligations of any other Purchaser under any Transaction Document.  Nothing contained herein or in any other Transaction Document, and no action taken by any Purchaser pursuant hereto or thereto, shall be deemed to constitute the Purchasers as a partnership, an association, a joint venture or any other kind of entity, or create a presumption that the Purchasers are in any way acting in concert or as a group with respect to such obligations or the transactions contemplated by the Transaction Documents.  Each Purchaser shall be entitled to independently protect and enforce its rights including, without limitation, the rights arising out of this Agreement or out of the other Transaction Documents, and it shall not be necessary for any other Purchaser to be joined as an additional party in any Proceeding for such purpose.  Each Purchaser has been represented by its own separate legal counsel in its review and negotiation of the Transaction Documents.  The Company has elected to provide all Purchasers with the same terms and Transaction Documents for the convenience of the Company and not because it was required or requested to do so by any of the Purchasers. It is expressly understood and agreed that each provision contained in this Agreement and in each other Transaction Document is between the Company and a Purchaser, solely, and not between the Company and the Purchasers, collectively, and not between and among the Purchasers.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.18&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Saturdays, Sundays, Holidays, etc.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;If the last or appointed day for the taking of any action or the expiration of any right required or granted herein shall not be a Business Day, then such action may be taken or such right may be exercised on the next succeeding Business Day.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.19&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Construction</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. The parties agree that each of them and&#47;or their respective counsel have reviewed and had an opportunity to revise the Transaction Documents and, therefore, the normal rule of construction to the effect that any ambiguities are to be resolved against the drafting party shall not be employed in the interpretation of the Transaction Documents or any amendments thereto. In addition, each and every reference to share prices and shares of Common Stock in any Transaction Document shall be subject to adjustment for reverse and forward stock splits, stock dividends, stock combinations and other similar transactions of the Common Stock that occur after the date of this Agreement.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.20&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%;text-decoration:underline">WAIVER OF JURY TRIAL</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">.  </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%;text-decoration:underline">IN ANY ACTION, SUIT, OR PROCEEDING IN ANY JURISDICTION BROUGHT BY ANY PARTY AGAINST ANY OTHER PARTY, THE PARTIES EACH KNOWINGLY AND INTENTIONALLY, TO THE GREATEST EXTENT PERMITTED BY APPLICABLE LAW, HEREBY ABSOLUTELY, UNCONDITIONALLY, IRREVOCABLY AND EXPRESSLY WAIVES FOREVER TRIAL BY JURY. </font></div><div style="margin-bottom:12pt;text-align:justify"><font><br></font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:100%">(Signature Pages Follow)</font></div><div id="i905ccf3290274ad580a50161444f71c9_4"></div><div style="margin-bottom:12pt;text-align:justify"><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">10</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">IN WITNESS WHEREOF, the parties hereto have caused this Securities Purchase Agreement to be duly executed by their respective authorized signatories as of the date first indicated above.</font></div><div><font><br></font></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:60.150%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:37.650%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</font></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Address for Notice&#58;</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Lesley A. Matt</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Chief Executive Officer</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">32000 Aurora Road, Suite B<br>Solon, OH  44139</font></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">By&#58;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">&#47;s&#47; Lesley A. Matt</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;Name&#58; Lesley A. Matt</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;Title&#58; Chief Executive Officer</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font><br></font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">With a copy to (which shall not constitute notice)&#58;</font></div></td><td colspan="3" style="padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Email&#58; lmatt&#64;energyfocus.com</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Energy Focus, Inc.</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">James R. Warren</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Senior Vice President, General Counsel</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">And Corporate Secretary</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">3200 Aurora Road, Suite B</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Solon, OH 44139</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Email&#58; jwarren&#64;energyfocus.com</font></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div><font><br></font></div><div><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#91;REMAINDER OF PAGE INTENTIONALLY LEFT BLANK</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">SIGNATURE PAGE FOR PURCHASER FOLLOWS&#93;</font></div><div style="padding-right:-18pt;text-align:center"><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">11</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="padding-right:-18pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#91;PURCHASER SIGNATURE PAGES TO EFOI SECURITIES PURCHASE AGREEMENT&#93;</font></div><div style="padding-right:-36pt"><font><br></font></div><div style="margin-bottom:24pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">IN WITNESS WHEREOF, the undersigned have caused this Securities Purchase Agreement to be duly executed by their respective authorized signatories as of the date first indicated above.</font></div><div style="padding-right:-36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:232%">Name of Purchaser&#58; Chiao Chieh (Jay) Huang</font></div><div style="padding-right:-36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:232%">Signature of Purchaser</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:232%">&#58; </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:232%;text-decoration:underline">&#47;s&#47; Chiao Chieh (Jay) Huang</font></div><div style="padding-right:-36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:232%">Name of Authorized Signatory&#58; N&#47;A</font></div><div style="padding-right:-36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:232%">Title of Authorized Signatory&#58; N&#47;A</font></div><div style="padding-right:-36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:232%">Email Address of Authorized Signatory&#58; ______________________________________________</font></div><div style="padding-right:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Address for Notice to Purchaser&#58;</font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Address for Delivery of Securities to Purchaser (if not same as address for notice)&#58;</font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Subscription Amount&#58; $55,000, allocated as follows&#58;</font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-left:36pt;padding-right:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Shares&#58; 108,502</font></div><div style="padding-left:36pt;padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">EIN Number&#58; _______________________</font></div><div style="padding-right:-36pt"><font><br></font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#91;SIGNATURE PAGES CONTINUE&#93;</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">12</font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.10
<SEQUENCE>3
<FILENAME>a20230331exh1010xefoimarch.htm
<DESCRIPTION>EX-10.10
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i908a00b1c1d947f1a19beb71e734188d_1"></div><div style="min-height:72pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Exhibit 10.10</font></div></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">SECURITIES PURCHASE AGREEMENT</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">This Securities Purchase Agreement (this &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) is dated as of March 30, 2023, between Energy Focus, Inc., a Delaware corporation (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;), and each purchaser identified on the signature pages hereto (each, including its successors and assigns, a &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Purchaser</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; and, collectively, the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Purchasers</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;).</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">WHEREAS, subject to the terms and conditions set forth in this Agreement and pursuant to Section 4(a)(2) of the Securities Act (as defined below), and Rule 506 promulgated thereunder, the Company desires to issue and sell to each Purchaser, and each Purchaser, severally and not jointly, desires to purchase from the Company, securities of the Company as more fully described in this Agreement.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">NOW, THEREFORE, IN CONSIDERATION of the mutual covenants contained in this Agreement, and for other good and valuable consideration, the receipt and adequacy of which are hereby acknowledged, the Company and each Purchaser agree as follows&#58;</font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">ARTICLE I.<br>DEFINITIONS</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">1.1&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Definitions</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. In addition to the terms defined elsewhere in this Agreement, for all purposes of this Agreement, the following terms have the meanings set forth in this Section 1.1&#58;</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Affiliate</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means any Person that, directly or indirectly through one or more intermediaries, controls or is controlled by or is under common control with a Person, as such terms are used in and construed under Rule 405 under the Securities Act.  </font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Board of Directors</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the board of directors of the Company.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Business Day</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means any day other than Saturday, Sunday or other day on which commercial banks in The City of New York are authorized or required by law to remain closed&#59;</font><font style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"> </font><font style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">provided</font><font style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">, </font><font style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">however</font><font style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">, for clarification, commercial banks shall not be deemed to be authorized or required by law to remain closed due to &#8220;stay at home&#8221;, &#8220;shelter-in-place&#8221;, &#8220;non-essential employee&#8221;&#160; or any other similar orders or restrictions or the closure of any physical branch locations at the direction of any governmental authority so long as the electronic funds transfer systems (including for wire transfers) of commercial banks in The City of New York generally are open for use by customers on such day</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Closing</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the closing of the purchase and sale of the Securities pursuant to Section 2.1.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Closing Date</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the Trading Day on which all of the Transaction Documents have been executed and delivered by the applicable parties thereto, but in no event later than the second Trading Day following the date hereof.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Commission</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the United States Securities and Exchange Commission.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Common Stock</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the common stock of the Company, par value $0.0001 per share, and any other class of securities into which such securities may hereafter be reclassified or changed. </font></div><div style="padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Exchange Act</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the Securities Exchange Act of 1934, as amended, and the rules and regulations promulgated thereunder.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">1</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="padding-left:36pt;text-align:justify;text-indent:36pt"><font><br></font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Liens</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means a lien, charge, pledge, security interest, encumbrance, right of first refusal, preemptive right or other restriction.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Material Adverse Effect</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; shall have the meaning assigned to such term in Section 3.1(a).</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Per Share Purchase Price</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; equals $0.5000, subject to adjustment for reverse and forward stock splits, stock dividends, stock combinations and other similar transactions of the Common Stock that occur after the date of this Agreement.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Person</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means an individual or corporation, partnership, trust, incorporated or unincorporated association, joint venture, limited liability company, joint stock company, government (or an agency or subdivision thereof) or other entity of any kind.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Proceeding</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means an action, claim, suit, investigation or proceeding (including, without limitation, an informal investigation or partial proceeding, such as a deposition), whether commenced or threatened.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Rule 144</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means Rule 144 promulgated by the Commission pursuant to the Securities Act, as such Rule may be amended or interpreted from time to time, or any similar rule or regulation hereafter adopted by the Commission having substantially the same purpose and effect as such Rule.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">SEC Reports</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means all reports, schedules, forms, statements and other documents required to be filed by the Company under the Securities Act and the Exchange Act, including pursuant to Section 13(a) or 15(d) thereof, for the two years preceding the date hereof (or such shorter period as the Company was required by law or regulation to file such material).</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Securities</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the Shares.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Securities Act</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the Securities Act of 1933, as amended, and the rules and regulations promulgated thereunder.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Shares</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means the shares of Common Stock issued to each Purchaser pursuant to this Agreement.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Short Sales</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means all &#8220;short sales&#8221; as defined in Rule 200 of Regulation SHO under the Exchange Act (but shall not be deemed to include locating and&#47;or borrowing shares of Common Stock).</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Subscription Amount</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means, as to each Purchaser, the aggregate amount to be paid for Shares purchased hereunder as specified below such Purchaser&#8217;s name on the signature page of this Agreement and next to the heading &#8220;Subscription Amount,&#8221; in United States dollars and in immediately available funds.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Trading Day</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means a day on which the Nasdaq Capital Market is open for trading.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Trading Market</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means any of the following markets or exchanges on which the Common Stock is listed or quoted for trading on the date in question&#58; the NYSE American, the Nasdaq Capital Market, the Nasdaq Global Market, the Nasdaq Global </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">2</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Select Market, the New York Stock Exchange, OTCQB or OTCQX (or any successors to any of the foregoing).</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Transaction Documents</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means this Agreement, the exhibits and all schedules hereto and any other documents or agreements executed in connection with the transactions contemplated hereunder.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Transfer Agent</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means Broadridge Corporate Issuer Solutions, P.O. Box 1342, Brentwood, New York 11717, and any successor transfer agent of the Company.</font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">ARTICLE II.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"><br></font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">PURCHASE AND SALE</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">2.1&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Closing</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  On the Closing Date, upon the terms and subject to the conditions set forth herein, the Company agrees to sell, and the Purchasers, severally and not jointly, agree to purchase, up to an aggregate of $400,000 of Shares.  Each Purchaser&#8217;s Subscription Amount as set forth on the signature page hereto executed by such Purchaser shall be made available for &#8220;Delivery Versus Payment&#8221; settlement with the Company or its designee.  The Company shall deliver to each Purchaser its respective Shares, and each Purchaser shall deliver the other items set forth in Section 2.2 at the Closing.  The Closing shall occur at the offices of the Company or such other location as the parties shall mutually agree.  Unless otherwise directed by the Purchasers, settlement of the Shares shall occur via &#8220;Delivery Versus Payment&#8221; (i.e., on the Closing Date, the Company shall issue the Shares registered in the respective Purchasers&#8217; names and addresses and released by the Transfer Agent directly to the account(s) identified by each Purchaser&#59; upon receipt of such Shares, payment for such Shares shall be made by the applicable Purchaser (or its clearing firm) by wire transfer to the Company).</font></div><div style="margin-bottom:12pt;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">2.2&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Payment</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  On or prior to the Closing Date, except as otherwise indicated below, each shall be made available for &#8220;Delivery Versus Payment&#8221; settlement with the Company or its designee.</font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">ARTICLE III.<br>REPRESENTATIONS AND WARRANTIES</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">3.1&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Representations and Warranties of the Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. The Company hereby makes the following representations and warranties to each Purchaser&#58;</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(a)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Organization and Qualification</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The Company is an entity duly incorporated or otherwise organized, validly existing and in good standing under the laws of Delaware, with the requisite power and authority to own and use its properties and assets and to carry on its business as currently conducted.  The Company is not in violation nor default of any of the provisions of its respective certificate of incorporation, bylaws or other organizational or charter documents.  The Company is duly qualified to conduct business and is in good standing as a foreign corporation or other entity in each jurisdiction in which the nature of the business conducted or property owned by it makes such qualification necessary, except where the failure to be so qualified or in good standing, as the case may be, would not reasonably be expected to result in (i) a material adverse effect on the legality, validity or enforceability of any Transaction Document, (ii) a material adverse effect on the results of operations, assets, business, or condition (financial or otherwise) of the Company, or (iii) a material adverse effect on the Company&#8217;s ability to perform in any material respect on a timely basis its obligations under any Transaction Document (any of clauses (i), (ii) or (iii), a &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Material Adverse Effect</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) and no Proceeding has been instituted in any such jurisdiction revoking, limiting </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">3</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">or curtailing or seeking to revoke, limit or curtail such power and authority or qualification.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(b)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Authorization&#59; Enforcement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The Company has the requisite corporate power and authority to enter into and to consummate the transactions contemplated by this Agreement and each of the other Transaction Documents and otherwise to carry out its obligations hereunder and thereunder.  The execution and delivery of this Agreement and each of the other Transaction Documents by the Company and the consummation by it of the transactions contemplated hereby and thereby have been duly authorized by all necessary action on the part of the Company and no further action is required by the Company, the Board of Directors or the Company&#8217;s stockholders in connection herewith or therewith other than in connection with the Required Approvals.  This Agreement and each other Transaction Document to which it is a party has been (or upon delivery will have been) duly executed by the Company and, when delivered in accordance with the terms hereof and thereof, will (assuming due execution, authorization and delivery by the parties thereto) constitute the valid and binding obligation of the Company enforceable against the Company in accordance with its terms, except (i) as limited by general equitable principles and applicable bankruptcy, insolvency, reorganization, moratorium and other laws of general application affecting enforcement of creditors&#8217; rights generally, (ii) as limited by laws relating to the availability of specific performance, injunctive relief or other equitable remedies and (iii) insofar as indemnification and contribution provisions may be limited by applicable law or public policy.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(c)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Issuance of the Securities</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The Securities are duly authorized. The Shares, when issued and paid for in accordance with the applicable Transaction Documents, will be duly and validly issued, fully paid and nonassessable, free and clear of all Liens imposed by the Company other than restrictions on transfer provided for in the Transaction Documents.  The Company has reserved from its duly authorized capital stock the maximum number of shares of Common Stock issuable pursuant to the Transaction Documents.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">3.2&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Representations and Warranties of the Purchasers</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Each Purchaser, for itself and for no other Purchaser, hereby represents and warrants as of the date hereof and as of the Closing Date to the Company as follows (unless as of a specific date therein, in which case they shall be accurate as of such date)&#58;</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(a)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Organization&#59; Authority</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Such Purchaser is an entity duly incorporated or formed, validly existing and in good standing under the laws of the jurisdiction of its incorporation or formation with full right, corporate, partnership, limited liability company or similar power and authority to enter into and to consummate the transactions contemplated by the Transaction Documents and otherwise to carry out its obligations hereunder and thereunder. The execution and delivery of the Transaction Documents and performance by such Purchaser of the transactions contemplated by the Transaction Documents have been duly authorized by all necessary corporate, partnership, limited liability company or similar action, as applicable, on the part of such Purchaser.  Each Transaction Document to which it is a party has been duly executed by such Purchaser, and when delivered by such Purchaser in accordance with the terms thereof, will constitute the valid and legally binding obligation of such Purchaser, enforceable against such Purchaser in accordance with its terms, except&#58; (i) as limited by general equitable principles and applicable bankruptcy, insolvency, reorganization, moratorium and other laws of general application affecting enforcement of creditors&#8217; rights generally, (ii) as limited by laws relating to the availability of specific performance, injunctive relief or other equitable remedies and (iii) insofar as indemnification and contribution provisions may be limited by applicable law or public policy.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">4</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(b)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Understandings or Arrangements</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Such Purchaser understands that the Securities are &#8220;restricted securities&#8221; and have not been registered under the Securities Act or any applicable state securities law and is acquiring the Securities as principal for its own account and not with a view to or for distributing or reselling such Securities or any part thereof in violation of the Securities Act or any applicable state securities law, has no present intention of distributing any of such Securities in violation of the Securities Act or any applicable state securities law and has no direct or indirect arrangement or understandings with any other persons to distribute or regarding the distribution of such Securities in violation of the Securities Act or any applicable state securities law (this representation and warranty not limiting such Purchaser&#8217;s right to sell the Securities pursuant to the Registration Statement or otherwise in compliance with applicable federal and state securities laws).  Such Purchaser is acquiring the Securities hereunder in the ordinary course of its business.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(c)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Purchaser Status</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  At the time such Purchaser was offered the Securities, it was, and as of the date hereof it is either&#58; (i) an &#8220;accredited investor&#8221; as defined in Rule 501(a)(1), (a)(2), (a)(3), (a)(7), (a)(8), (a)(9), (a)(12), or (a)(13) under the Securities Act or (ii) a &#8220;qualified institutional buyer&#8221; as defined in Rule 144A(a) under the Securities Act.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(d)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Experience of Such Purchaser</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Such Purchaser, either alone or together with its representatives, has such knowledge, sophistication and experience in business and financial matters so as to be capable of evaluating the merits and risks of the prospective investment in the Securities, and has so evaluated the merits and risks of such investment.  Such Purchaser is able to bear the economic risk of an investment in the Securities and, at the present time, is able to afford a complete loss of such investment.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(e)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">General Solicitation</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Such Purchaser is not purchasing the Securities as a result of any advertisement, article, notice or other communication regarding the Securities published in any newspaper, magazine or similar media or broadcast over television or radio or presented at any seminar or, to the knowledge of such Purchaser, any other general solicitation or general advertisement.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(f)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Access to Information</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. Such Purchaser acknowledges that it has had the opportunity to review the Transaction Documents (including all exhibits and schedules thereto) and the SEC Reports and has been afforded, (i) the opportunity to ask such questions as it has deemed necessary of, and to receive answers from, representatives of the Company concerning the terms and conditions of the offering of the Securities and the merits and risks of investing in the Securities&#59; (ii) access to information about the Company and its financial condition, results of operations, business, properties, management and prospects sufficient to enable it to evaluate its investment&#59; and (iii) the opportunity to obtain such additional information that the Company possesses or can acquire without unreasonable effort or expense that is necessary to make an informed investment decision with respect to the investment.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(g)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Certain Transactions and Confidentiality</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Other than consummating the transactions contemplated hereunder, such Purchaser has not, nor has any Person acting on behalf of or pursuant to any understanding with such Purchaser, directly or indirectly executed any purchases or sales, including Short Sales, of the securities of the Company during the period commencing as of the time that such Purchaser first received information about the offering of the Securities (written or oral) from the Company setting forth the material terms of the transactions contemplated hereunder and ending immediately prior to the execution hereof.  Other than to other Persons party to this Agreement or to such Purchaser&#8217;s representatives that are bound by confidentiality </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">obligations, including, without limitation, its officers, directors, partners, legal and other advisors, employees, agents and Affiliates, such Purchaser has maintained the confidentiality of all disclosures made to it in connection with this transaction (including the existence and terms of this transaction).  </font></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">The Company acknowledges and agrees that the representations contained in this Section 3.2 shall not modify, amend or affect such Purchaser&#8217;s right to rely on the Company&#8217;s representations and warranties contained in this Agreement or any representations and warranties contained in any other Transaction Document or any other document or instrument executed and&#47;or delivered in connection with this Agreement or the consummation of the transactions contemplated hereby, except to the extent that any such representations and warranties of the Company are made subject to or assuming the accuracy of the Purchaser&#8217;s representations contained in this Section 3.2.  Notwithstanding the foregoing, for the avoidance of doubt, nothing contained herein shall constitute a representation or warranty, or preclude any actions, with respect to locating or borrowing shares in order to effect Short Sales or similar transactions in the future.</font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">ARTICLE IV.<br>OTHER AGREEMENTS OF THE PARTIES</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">4.1&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Transfer Restrictions</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  </font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(a)&#160;&#160;&#160;&#160;The Securities may only be disposed of in compliance with state and federal securities laws.  In connection with any transfer of the Securities other than pursuant to an effective registration statement or Rule 144, to the Company or to an Affiliate of a Purchaser, the Company may require the transferor thereof to provide to the Company an opinion of counsel selected by the transferor and reasonably acceptable to the Company, the form and substance of which opinion shall be reasonably satisfactory to the Company, to the effect that such transfer does not require registration of such transferred Securities under the Securities Act.  As a condition of transfer, any such transferee shall agree in writing to be bound by the terms of this Agreement and the Registration Rights Agreement and shall have the rights and obligations of a Purchaser under this Agreement and the Registration Rights Agreement. </font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(b)&#160;&#160;&#160;&#160;The Purchasers agree to the imprinting of a legend on any of the Securities in the following form&#58;</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">THIS SECURITY HAS NOT BEEN REGISTERED WITH THE SECURITIES AND EXCHANGE COMMISSION OR THE SECURITIES COMMISSION OF ANY STATE IN RELIANCE UPON AN EXEMPTION FROM REGISTRATION UNDER THE SECURITIES ACT OF 1933, AS AMENDED (THE &#8220;SECURITIES ACT&#8221;), AND, ACCORDINGLY, MAY NOT BE OFFERED OR SOLD EXCEPT PURSUANT TO AN EFFECTIVE REGISTRATION STATEMENT UNDER THE SECURITIES ACT OR PURSUANT TO AN AVAILABLE EXEMPTION FROM, OR IN A TRANSACTION NOT SUBJECT TO, THE REGISTRATION REQUIREMENTS OF THE SECURITIES ACT AND IN ACCORDANCE WITH APPLICABLE STATE SECURITIES LAWS.</font></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">(c)&#160;&#160;&#160;&#160;Each Purchaser, severally and not jointly with the other Purchasers, agrees with the Company that such Purchaser will sell any Securities pursuant to either the registration requirements of the Securities Act, including any applicable prospectus delivery requirements, or an exemption therefrom, and that if Securities are sold pursuant to a registration statement, they will be sold in compliance with the plan of distribution set forth therein, and acknowledges that the removal of the restrictive legend from the </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">6</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;padding-left:36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">book entries representing Securities will be predicated upon the Company&#8217;s reliance upon this understanding.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">4.2&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Acknowledgment of Dilution</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The Company acknowledges that the issuance of the Securities may result in dilution of the outstanding shares of Common Stock, which dilution may be substantial under certain market conditions.  The Company further acknowledges that its obligations under the Transaction Documents, including, without limitation, its obligation to issue the Shares pursuant to the Transaction Documents, are unconditional and absolute and not subject to any right of set off, counterclaim, delay or reduction, regardless of the effect of any such dilution or any claim the Company may have against any Purchaser and regardless of the dilutive effect that such issuance may have on the ownership of the other stockholders of the Company.</font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">ARTICLE V.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%"><br></font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">MISCELLANEOUS</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.1&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Termination</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.&#160; This Agreement may be terminated by any Purchaser, as to such Purchaser&#8217;s obligations hereunder only and without any effect whatsoever on the obligations between the Company and the other Purchasers, by written notice to the other parties, if the Closing has not been consummated on or before the fifth (5</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.8pt;font-weight:400;line-height:100%;position:relative;top:-4.2pt;vertical-align:baseline">th</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">) Trading Day following the date hereof&#59; </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">provided</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">, </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">however</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">, that no such termination will affect the right of any party to sue for any breach by any other party (or parties).</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.2&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Fees and Expenses</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Except as expressly set forth in the Transaction Documents to the contrary, each party shall pay the fees and expenses of its own advisers, counsel, accountants and other experts, if any, and all other expenses incurred by such party incident to the negotiation, preparation, execution, delivery and performance of the Transaction Documents.  The Company shall pay all Transfer Agent fees (including, without limitation, any fees required for same-day processing of any instruction letter delivered by the Company), stamp taxes and other taxes and duties levied in connection with the delivery of any Securities to the Purchasers.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.3&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Entire Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The Transaction Documents, together with the exhibits and schedules thereto, contain the entire understanding of the parties with respect to the subject matter hereof and thereof and supersede all prior agreements and understandings, oral or written, with respect to such matters, which the parties acknowledge have been merged into such documents, exhibits and schedules.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.4&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Notices</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Any and all notices or other communications or deliveries required or permitted to be provided hereunder shall be in writing and shall be deemed given and effective on the earliest of&#58; (a) the time of transmission, if such notice or communication is delivered via facsimile at the facsimile number or email attachment at the email address as set forth on the signature pages attached hereto at or prior to 5&#58;30 p.m. (New York City time) on a Trading Day, (b) the next Trading Day after the time of transmission, if such notice or communication is delivered via facsimile at the facsimile number or email attachment at the email address as set forth on the signature pages attached hereto on a day that is not a Trading Day or later than 5&#58;30 p.m. (New York City time) on any Trading Day, (c) the second Trading Day following the date of mailing, if sent by United States nationally recognized overnight courier service or (d) upon actual receipt by the party to whom such notice is required to be given.  The address for such notices and communications shall be as set forth on the signature pages attached hereto. To the extent that any notice provided pursuant to any Transaction Document constitutes or contains material, non-public information regarding the Company, the Company shall simultaneously file such notice with the Commission pursuant to a Current Report on Form 8-K.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">7</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.5&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Amendments&#59; Waivers</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  No provision of this Agreement may be waived, modified, supplemented or amended except in a written instrument signed, in the case of an amendment, by the Company and Purchasers which purchased at least a majority in interest of the Shares based on the initial Subscription Amounts hereunder (or, prior to the Closing Date, the Company and each Purchaser) or, in the case of a waiver, by the party against whom enforcement of any such waived provision is sought.  No waiver of any default with respect to any provision, condition or requirement of this Agreement shall be deemed to be a continuing waiver in the future or a waiver of any subsequent default or a waiver of any other provision, condition or requirement hereof, nor shall any delay or omission of any party to exercise any right hereunder in any manner impair the exercise of any such right. Any amendment effected in accordance with this Section 5.5 shall be binding upon each Purchaser and holder of Securities and the Company.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.6&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Headings</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The headings herein are for convenience only, do not constitute a part of this Agreement and shall not be deemed to limit or affect any of the provisions hereof.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.7&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Successors and Assigns</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  This Agreement shall be binding upon and inure to the benefit of the parties and their successors and permitted assigns.  The Company may not assign this Agreement or any rights or obligations hereunder without the prior written consent of each Purchaser (other than by merger).  Any Purchaser may assign any or all of its rights under this Agreement to any Person to whom such Purchaser assigns or transfers any Securities, provided that such transferee agrees in writing to be bound, with respect to the transferred Securities, by the provisions of the Transaction Documents that apply to the &#8220;Purchasers.&#8221;</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.8&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">No Third-Party Beneficiaries</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  This Agreement is intended for the benefit of the parties hereto and their respective successors and permitted assigns and is not for the benefit of, nor may any provision hereof be enforced by, any other Person.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.9&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Governing Law</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  All questions concerning the construction, validity, enforcement and interpretation of the Transaction Documents shall be governed by and construed and enforced in accordance with the internal laws of the State of New York, without regard to the principles of conflicts of law thereof.  Each party agrees that all legal Proceedings concerning the interpretations, enforcement and defense of the transactions contemplated by this Agreement and any other Transaction Documents (whether brought against a party hereto or its respective affiliates, directors, officers, shareholders, partners, members, employees or agents) shall be commenced exclusively in the state and federal courts sitting in the City of New York.  Each party hereby irrevocably submits to the exclusive jurisdiction of the state and federal courts sitting in the City of New York, Borough of Manhattan for the adjudication of any dispute hereunder or in connection herewith or with any transaction contemplated hereby or discussed herein (including with respect to the enforcement of any of the Transaction Documents), and hereby irrevocably waives, and agrees not to assert in any Action or Proceeding, any claim that it is not personally subject to the jurisdiction of any such court, that such Action or Proceeding is improper or is an inconvenient venue for such Proceeding.  Each party hereby irrevocably waives personal service of process and consents to process being served in any such Action or Proceeding by mailing a copy thereof via registered or certified mail or overnight delivery (with evidence of delivery) to such party at the address in effect for notices to it under this Agreement and agrees that such service shall constitute good and sufficient service of process and notice thereof.  Nothing contained herein shall be deemed to limit in any way any right to serve process in any other manner permitted by law.   If any party shall commence an Action or Proceeding to enforce any provisions of the Transaction Documents, then, in addition to the obligations of the Company under Section 4.9, the prevailing party in such Action or Proceeding shall be reimbursed by the non-prevailing party for its reasonable attorneys&#8217; fees and other costs and expenses incurred with the investigation, preparation and prosecution of such Action or Proceeding.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">8</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.10&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Survival</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The representations and warranties contained herein shall survive the Closing and the delivery of the Securities.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.11&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Execution</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  This Agreement may be executed in two or more counterparts, all of which when taken together shall be considered one and the same agreement and shall become effective when counterparts have been signed by each party and delivered to each other party, it being understood that the parties need not sign the same counterpart.  In the event that any signature is delivered by facsimile transmission, by e-mail delivery of a &#8220;.pdf&#8221; format data file, by other electronic signing created on an electronic platform (such as DocuSign) or by digital signing (such as Adobe Sign), such signature shall create a valid and binding obligation of the party executing (or on whose behalf such signature is executed) with the same force and effect as if such facsimile, &#8220;.pdf&#8221;, electronic signing or digital signing signature page were an original thereof.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.12&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Severability</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  If any term, provision, covenant or restriction of this Agreement is held by a court of competent jurisdiction to be invalid, illegal, void or unenforceable, the remainder of the terms, provisions, covenants and restrictions set forth herein shall remain in full force and effect and shall in no way be affected, impaired or invalidated, and the parties hereto shall use their commercially reasonable efforts to find and employ an alternative means to achieve the same or substantially the same result as that contemplated by such term, provision, covenant or restriction. It is hereby stipulated and declared to be the intention of the parties that they would have executed the remaining terms, provisions, covenants and restrictions without including any of such that may be hereafter declared invalid, illegal, void or unenforceable.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.13&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Rescission and Withdrawal Right</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  Notwithstanding anything to the contrary contained in (and without limiting any similar provisions of) any of the other Transaction Documents, whenever any Purchaser exercises a right, election, demand or option under a Transaction Document and the Company does not timely perform its related obligations within the periods therein provided, then such Purchaser may rescind or withdraw, in its sole discretion from time to time upon written notice to the Company, any relevant notice, demand or election in whole or in part without prejudice to its future actions and rights.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.14&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Replacement of Securities</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  If any certificate or instrument evidencing any Securities is mutilated, lost, stolen or destroyed, the Company shall issue or cause to be issued in exchange and substitution for and upon cancellation thereof (in the case of mutilation), or in lieu of and substitution therefor (in case of loss, theft or destruction), a new certificate or instrument, but only upon receipt of evidence reasonably satisfactory to the Company of such loss, theft or destruction and (in the case of loss, theft or destruction) of customary indemnity satisfactory to the Company.  The applicant for a new certificate or instrument under such circumstances shall also pay any reasonable third-party costs (including customary indemnity) associated with the issuance of such replacement Securities.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.15&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Remedies</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  In addition to being entitled to exercise all rights provided herein or granted by law, including recovery of damages, each of the Purchasers and the Company will be entitled to specific performance under the Transaction Documents.  The parties agree that monetary damages may not be adequate compensation for any loss incurred by reason of any breach of obligations contained in the Transaction Documents and hereby agree to waive and not to assert in any Action for specific performance of any such obligation the defense that a remedy at law would be adequate.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.16&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Payment Set Aside</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  To the extent that the Company makes a payment or payments to any Purchaser pursuant to any Transaction Document or a Purchaser enforces or exercises its rights thereunder, and such payment or payments or the proceeds of such enforcement or exercise or any part thereof are subsequently invalidated, declared to be </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">9</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">fraudulent or preferential, set aside, recovered from, disgorged by or are required to be refunded, repaid or otherwise restored to the Company, a trustee, receiver or any other Person under any law (including, without limitation, any bankruptcy law, state or federal law, common law or equitable cause of action), then to the extent of any such restoration the obligation or part thereof originally intended to be satisfied shall be revived and continued in full force and effect as if such payment had not been made or such enforcement or setoff had not occurred.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.17&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Independent Nature of Purchasers&#8217; Obligations and Rights</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  The obligations of each Purchaser under any Transaction Document are several and not joint with the obligations of any other Purchaser, and no Purchaser shall be responsible in any way for the performance or non-performance of the obligations of any other Purchaser under any Transaction Document.  Nothing contained herein or in any other Transaction Document, and no action taken by any Purchaser pursuant hereto or thereto, shall be deemed to constitute the Purchasers as a partnership, an association, a joint venture or any other kind of entity, or create a presumption that the Purchasers are in any way acting in concert or as a group with respect to such obligations or the transactions contemplated by the Transaction Documents.  Each Purchaser shall be entitled to independently protect and enforce its rights including, without limitation, the rights arising out of this Agreement or out of the other Transaction Documents, and it shall not be necessary for any other Purchaser to be joined as an additional party in any Proceeding for such purpose.  Each Purchaser has been represented by its own separate legal counsel in its review and negotiation of the Transaction Documents.  The Company has elected to provide all Purchasers with the same terms and Transaction Documents for the convenience of the Company and not because it was required or requested to do so by any of the Purchasers. It is expressly understood and agreed that each provision contained in this Agreement and in each other Transaction Document is between the Company and a Purchaser, solely, and not between the Company and the Purchasers, collectively, and not between and among the Purchasers.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.18&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Saturdays, Sundays, Holidays, etc.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;If the last or appointed day for the taking of any action or the expiration of any right required or granted herein shall not be a Business Day, then such action may be taken or such right may be exercised on the next succeeding Business Day.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.19&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Construction</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. The parties agree that each of them and&#47;or their respective counsel have reviewed and had an opportunity to revise the Transaction Documents and, therefore, the normal rule of construction to the effect that any ambiguities are to be resolved against the drafting party shall not be employed in the interpretation of the Transaction Documents or any amendments thereto. In addition, each and every reference to share prices and shares of Common Stock in any Transaction Document shall be subject to adjustment for reverse and forward stock splits, stock dividends, stock combinations and other similar transactions of the Common Stock that occur after the date of this Agreement.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.20&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%;text-decoration:underline">WAIVER OF JURY TRIAL</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">.  </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%;text-decoration:underline">IN ANY ACTION, SUIT, OR PROCEEDING IN ANY JURISDICTION BROUGHT BY ANY PARTY AGAINST ANY OTHER PARTY, THE PARTIES EACH KNOWINGLY AND INTENTIONALLY, TO THE GREATEST EXTENT PERMITTED BY APPLICABLE LAW, HEREBY ABSOLUTELY, UNCONDITIONALLY, IRREVOCABLY AND EXPRESSLY WAIVES FOREVER TRIAL BY JURY. </font></div><div style="margin-bottom:12pt;text-align:justify"><font><br></font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:100%">(Signature Pages Follow)</font></div><div id="i908a00b1c1d947f1a19beb71e734188d_4"></div><div style="margin-bottom:12pt;text-align:justify"><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">10</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">IN WITNESS WHEREOF, the parties hereto have caused this Securities Purchase Agreement to be duly executed by their respective authorized signatories as of the date first indicated above.</font></div><div><font><br></font></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:60.150%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:37.650%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</font></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Address for Notice&#58;</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Lesley A. Matt</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Chief Executive Officer</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">32000 Aurora Road, Suite B<br>Solon, OH  44139</font></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">By&#58;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">&#47;s&#47; Lesley A. Matt</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;Name&#58; Lesley A. Matt</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#160;&#160;&#160;&#160;&#160;Title&#58; Chief Executive Officer</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font><br></font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">With a copy to (which shall not constitute notice)&#58;</font></div></td><td colspan="3" style="padding:2px 1pt 2px 3.77pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Email&#58; lmatt&#64;energyfocus.com</font></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Energy Focus, Inc.</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">James R. Warren</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Senior Vice President, General Counsel</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">And Corporate Secretary</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">3200 Aurora Road, Suite B</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Solon, OH 44139</font></div><div style="padding-left:2.75pt;padding-right:2.75pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Email&#58; jwarren&#64;energyfocus.com</font></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div><font><br></font></div><div><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#91;REMAINDER OF PAGE INTENTIONALLY LEFT BLANK</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">SIGNATURE PAGE FOR PURCHASER FOLLOWS&#93;</font></div><div style="padding-right:-18pt;text-align:center"><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">11</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div style="text-align:right"><font><br></font></div></div><div style="padding-right:-18pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#91;PURCHASER SIGNATURE PAGES TO EFOI SECURITIES PURCHASE AGREEMENT&#93;</font></div><div style="padding-right:-36pt"><font><br></font></div><div style="margin-bottom:24pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">IN WITNESS WHEREOF, the undersigned have caused this Securities Purchase Agreement to be duly executed by their respective authorized signatories as of the date first indicated above.</font></div><div style="padding-right:-36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:232%">Name of Purchaser&#58; Mei Yun Huang</font></div><div style="padding-right:-36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:232%">Signature of Purchaser</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:232%">&#58; </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:232%;text-decoration:underline">&#47;s&#47; Mei Yun Huang</font></div><div style="padding-right:-36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:232%">Name of Authorized Signatory&#58; N&#47;A</font></div><div style="padding-right:-36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:232%">Title of Authorized Signatory&#58; N&#47;A</font></div><div style="padding-right:-36pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:232%">Email Address of Authorized Signatory&#58; ______________________________________________</font></div><div style="padding-right:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Address for Notice to Purchaser&#58;</font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Address for Delivery of Securities to Purchaser (if not same as address for notice)&#58;</font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Subscription Amount&#58; $250,000, allocated as follows&#58;</font></div><div style="padding-right:-36pt"><font><br></font></div><div style="padding-left:36pt;padding-right:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Shares&#58; 500,000</font></div><div style="padding-left:36pt;padding-right:-36pt"><font><br></font></div><div style="padding-right:-36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">EIN Number&#58; _______________________</font></div><div style="padding-right:-36pt"><font><br></font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#91;SIGNATURE PAGES CONTINUE&#93;</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">12</font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.11
<SEQUENCE>4
<FILENAME>exh1011streetervile2023-03.htm
<DESCRIPTION>EX-10.11
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i52dec0a79f2847aa842f654b0b8db9bf_1"></div><div style="min-height:72pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Exhibit 10.11</font></div></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">THE EXCHANGE CONTEMPLATED HEREIN IS INTENDED TO COMPORT WITH THE REQUIREMENTS OF SECTION 3(a)(9) OF THE SECURITIES ACT OF 1933, AS AMENDED.</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%;text-decoration:underline">EXCHANGE AGREEMENT</font></div><div style="text-align:center"><font><br></font></div><div style="text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">This Exchange Agreement (this &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) is entered into as of March 31, 2023 by and between Streeterville Capital, LLC, a Utah limited liability company (&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Lender</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;), and Energy Focus, Inc., a Delaware corporation (&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Borrower</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;). Capitalized terms used in this Agreement without definition shall have the meanings given to them in the Original Note (as defined below). </font></div><div style="text-align:justify;text-indent:36pt"><font><br></font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">A.&#160;&#160;&#160;&#160;Borrower previously sold and issued to Lender that certain Promissory Note dated April 21, 2022 in the original principal amount of $2,000,000.00 (as amended, the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Original Note</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) pursuant to that certain Note Purchase Agreement dated April 21, 2022 by and between Lender and Borrower (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Purchase Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">,&#8221; and together with the Original Note and all other documents entered into in conjunction therewith, the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Transaction Documents</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;).</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">B.&#160;&#160;&#160;&#160;Subject to the terms of this Agreement, Borrower and Lender desire to partition a new Promissory Note in the form of the Original Note (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Partitioned Note</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) in the original principal amount of $250,000.00 (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Exchange Amount</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) from the Original Note and then cause the outstanding balance of the Original Note to be reduced by an amount equal to the Exchange Amount, which represents the total outstanding balance (including principal and interest, if any) of the Partitioned Note.  </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">C.&#160;&#160;&#160;&#160;Borrower and Lender desire to exchange (such exchange is referred to as the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Exchange</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) the Partitioned Note for 502,008 shares of Borrower&#8217;s Common Stock, par value $0.0001 (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Common Stock</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">,&#8221; and such 502,008 shares of Common Stock, the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Exchange Shares</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;), according to the terms and conditions of this Agreement.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">D.&#160;&#160;&#160;&#160;The Exchange will consist of Lender surrendering the Partitioned Note in exchange for the Exchange Shares, which, subject to the accuracy of Lender&#8217;s representations in Section 7 below, will be issued free of any restrictive securities legend. </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">E.&#160;&#160;&#160;&#160;Other than the surrender of the Partitioned Note, no consideration of any kind whatsoever shall be given by Lender to Borrower in connection with this Agreement or the Exchange. </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">F.&#160;&#160;&#160;&#160;Lender and Borrower now desire to exchange the Partitioned Note for the Exchange Shares on the terms and conditions set forth herein. </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">NOW, THEREFORE, for good and valuable consideration, the receipt and sufficiency of which are hereby acknowledged, the parties agree as follows&#58; </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">1.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Recitals and Definitions</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. Each of the parties hereto acknowledges and agrees that the recitals set forth above in this Agreement are true and accurate, are contractual in nature, and are hereby incorporated into and made a part of this Agreement. </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">2.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Partition</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. Effective as of the date hereof, Borrower and Lender agree that the Partitioned Note is hereby partitioned from the Original Note. Following such partition of the Original Note, Borrower and Lender agree that the Original Note shall remain in full force and effect, provided that the outstanding balance of the Original Note shall be reduced by an amount equal to the Exchange Amount.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">3.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Issuance of Shares</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. The Exchange shall occur with Lender surrendering the Partitioned Note to Borrower on March 31, 2023, on which date (a) the Partitioned Note shall be cancelled and all obligations of Borrower under the Partitioned Note shall be deemed fulfilled and (b) the Borrower shall provide written instructions to the Borrower&#8217;s transfer agent to issue the Exchange Shares into the name of the Lender on the stock records of the Borrower. Pursuant to the terms and conditions of this Agreement, the Exchange Shares shall be delivered to Lender on or before April 4, 2023. All Exchange Shares delivered hereunder shall be delivered via DWAC to Lender&#8217;s designated brokerage account. Borrower agrees to provide all necessary cooperation or assistance that may be required to cause all Exchange Shares delivered hereunder to become Free Trading (the first date on which all Exchange Shares become Free Trading, the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Free Trading Date</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;). For purposes hereof, the term &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Free Trading</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221; means that (a) the Exchange Shares have been cleared and approved for public resale by the compliance departments of Lender&#8217;s brokerage firm and the clearing firm servicing such brokerage, and (b) the Exchange Shares are held in the name of the clearing firm servicing Lender&#8217;s brokerage firm and have been deposited into such clearing firm&#8217;s account for the benefit of Lender. </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">4.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Closing</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. The closing of the transaction contemplated hereby (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Closing</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) along with the delivery of the Exchange Shares to Lender shall occur on the date that is mutually agreed to by Borrower and Lender by means of the exchange by express courier or email of .pdf documents, but shall be deemed to have occurred at the offices of Hansen Black Anderson Ashcraft PLLC in Lehi, Utah</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Application to Payment Schedule</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. Borrower and Lender agree that the Exchange Amount will be applied to the payment schedule set forth in Section 3 of the Note as follows&#58; (a) $125,000.00 will be credited toward the $250,000.00 payment due on or before July 14, 2023&#59; (b) $7,640.00 will be credited toward the November 1, 2024 payment&#59; and (c) $117,360.00 will be credited toward the December 1, 2024 payment.  </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">6.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Holding Period, Tacking and Legal Opinion</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. Borrower represents, warrants and agrees that for the purposes of Rule 144 (&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Rule 144</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;) of the Securities Act of 1933, as amended (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Securities Act</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;), the holding period of the Partitioned Note and the Exchange Shares will include Lender&#8217;s holding period of the Original Note from April 21, 2022. Borrower agrees not to take a position contrary to this Section 5 in any document, statement, setting, or situation. Subject to the accuracy of Lender&#8217;s representations in Section 7 below, Borrower agrees to take all action necessary to issue the Exchange Shares without restriction, and not containing any restrictive legend without the need for any action by Lender&#59; provided that the applicable holding period has been met. In furtherance thereof, prior to the Closing, counsel to Lender may, in its sole discretion, provide an opinion that&#58; (a) the Exchange Shares may be resold pursuant to Rule 144 without volume or manner-of-sale restrictions&#59; and (b) the transactions contemplated hereby and all other documents associated with this transaction comport with the requirements of Section 3(a)(9) of the Securities Act. Borrower represents that it is not subject to Rule 144(i). The Exchange Shares are being issued in substitution of and exchange for and not in satisfaction of the Partitioned Note. The Exchange Shares shall not constitute a novation or satisfaction and accord of the Partitioned Note. Borrower acknowledges and understands that the representations and agreements of Borrower in this Section 5 are a material inducement to Lender&#8217;s decision to consummate the transactions contemplated herein.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">7.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Borrower&#8217;s Representations, Warranties and Agreements</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. In order to induce Lender to enter into this Agreement, Borrower, for itself, and for its affiliates, successors and assigns, hereby acknowledges, represents, warrants and agrees as follows&#58; (a) Borrower has full power and authority to enter into this Agreement and to incur and perform all obligations and covenants contained herein, all of which have been duly authorized by all proper and necessary action, (b) no consent, approval, filing or registration with or notice to any governmental authority is required as a condition to the validity of this Agreement or the performance of any of </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">2</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">the obligations of Borrower hereunder, other than periodic filing obligations under the Securities Exchange Act of 1934, as amended (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Exchange Act</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;), (c) no Event of Default has occurred under the Original Note and any Events of Default that may have occurred thereunder have not been, and are not hereby, waived by Lender, (d) except as specifically set forth herein, nothing herein shall in any manner release, lessen, modify or otherwise affect Borrower&#8217;s obligations under the Original Note, (e) the issuance of the Exchange Shares has been duly authorized by all necessary corporate action and, when issued in exchange for the Partitioned Note pursuant to this terms of this Agreement, the Exchange Shares will be validly issued, fully paid and non-assessable, free and clear of all taxes, liens, claims, pledges, mortgages, restrictions, obligations, security interests and encumbrances of any kind, nature and description, (f) Borrower has not received any consideration in any form whatsoever for entering into this Agreement, other than the surrender of the Partitioned Note, and (g) Borrower has taken no action which would give rise to any claim by any person for a brokerage commission, placement agent or finder&#8217;s fee or other similar payment by Borrower related to this Agreement. </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">8.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Lender&#8217;s Representations, Warranties and Agreements</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. In order to induce Borrower to enter into this Agreement, Lender, for itself, and for its affiliates, successors and assigns, hereby acknowledges, represents, warrants and agrees as follows&#58; (a) Lender has full power and authority to enter into this Agreement and to incur and perform all obligations and covenants contained herein, all of which have been duly authorized by all proper and necessary action, (b) no consent, approval, filing or registration with or notice to any governmental authority is required as a condition to the validity of this Agreement or the performance of any of the obligations of Lender hereunder, (c) Lender has received no commission or remuneration from Borrower in connection with the Exchange, (d) Lender was not solicited by anyone on behalf of Lender to enter into this Agreement and perform the Exchange, (e) Lender is not providing anything of value for the Exchange Shares to be issued except for the Partitioned Note, (f) Lender is an &#8220;accredited investor&#8221; as defined in Regulation D promulgated under the Securities Act and has sufficient knowledge and experience in financial and business matters so as to be capable of bearing the economic risks of participation in the Exchange, and it is capable of evaluating the merits and risks of participating in the Exchange, including any risks associated with surrendering any rights related to the Partitioned Note in exchange from the rights and risks related to the Exchange Shares, (g) Lender has good and marketable title to the Partitioned Note being delivered pursuant to the Exchange, the Partitioned Note will be delivered free and clear of all taxes, liens, claims, pledges, mortgages, restrictions, obligations, security interests and encumbrances of any kind, nature and description, and (h) Lender has taken no action which would give rise to any claim by any person for a brokerage commission, placement agent or finder&#8217;s fee or other similar payment by Borrower related to this Agreement.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">9.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Ownership Limitation</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. Notwithstanding anything to the contrary contained in this Agreement, Borrower shall not deliver Exchange Shares in an amount that would cause Lender (together with its affiliates) to beneficially own a number of shares exceeding 9.99% of the number of shares of Common Stock outstanding on such date (including for such purpose the Common Stock issuable upon such issuance) (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">Maximum Percentage</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">&#8221;). For purposes of this section, beneficial ownership of Common Stock will be determined pursuant to Section 13(d) of the Exchange Act. By written notice to Borrower, Lender may increase, decrease or waive the Maximum Percentage as to itself, but any such waiver will not be effective until the 61st day after delivery thereof. The foregoing 61-day notice requirement is enforceable, unconditional and non-waivable and shall apply to all affiliates and assigns of Lender.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">10.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Governing Law&#59; Venue</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">.  This Agreement shall be construed and enforced in accordance with, and all questions concerning the construction, validity, interpretation and performance of this Agreement shall be governed by, the internal laws of the State of Utah, without giving effect to any choice of law or conflict of law provision or rule (whether of the State of Utah or any other jurisdictions) that would cause the application of the laws of any </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">3</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">jurisdictions other than the State of Utah. The provisions set forth in the Purchase Agreement to determine the proper venue for any disputes are incorporated herein by this reference.  </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:100%">BORROWER HEREBY IRREVOCABLY WAIVES ANY RIGHT IT MAY HAVE TO, AND AGREES NOT TO REQUEST, A JURY TRIAL FOR THE ADJUDICATION OF ANY DISPUTE HEREUNDER OR IN CONNECTION WITH OR ARISING OUT OF THIS AGREEMENT OR ANY TRANSACTION CONTEMPLATED HEREBY.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">11.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Arbitration of Claims</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. This Agreement shall be subject to the arbitration of claims provisions set forth in Section 7.1 of the Purchase Agreement.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">12.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Counterparts</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. This Agreement may be executed in any number of counterparts with the same effect as if all signing parties had signed the same document. All counterparts shall be construed together and constitute the same instrument. The exchange of copies of this Agreement and of signature pages by facsimile transmission or other electronic transmission (including email) shall constitute effective execution and delivery of this Agreement as to the parties and may be used in lieu of the original Agreement for all purposes. Signatures of the parties transmitted by facsimile transmission or other electronic transmission (including email) shall be deemed to be their original signatures for all purposes.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">13.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Attorneys&#8217; Fees</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. In the event of any action at law or in equity to enforce or interpret the terms of this Agreement, the parties agree that the party who is awarded the most money shall be deemed the prevailing party for all purposes and shall therefore be entitled to an additional award of the full amount of the attorneys&#8217; fees and expenses&#160; paid by such prevailing party in connection with the litigation and&#47;or dispute without reduction or apportionment based upon the individual claims or defenses&#160; giving rise to the fees and expenses.&#160; Nothing herein shall restrict or impair a court&#8217;s power to award fees and expenses for frivolous or bad faith pleading. </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">14.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">No Reliance</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. Borrower acknowledges and agrees that neither Lender nor any of its officers, directors, members, managers, equity holders, representatives or agents has made any representations or warranties to Borrower or any of its agents, representatives, officers, directors, or employees except as expressly set forth in this Agreement and the Transaction Documents and, in making its decision to enter into the transactions contemplated by this Agreement, Borrower is not relying on any representation, warranty, covenant or promise of Lender or its officers, directors, members, managers, equity holders, agents or representatives other than as set forth in this Agreement. </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">15.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Severability</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. If any part of this Agreement is construed to be in violation of any law, such part shall be modified to achieve the objective of the parties to the fullest extent permitted and the balance of this Agreement shall remain in full force and effect.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">16.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Entire Agreement</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. This Agreement, together with the Transaction Documents, and all other documents referred to herein, supersedes all other prior oral or written agreements between Borrower, Lender, its affiliates and persons acting on its behalf with respect to the matters discussed herein, and this Agreement and the instruments referenced herein contain the entire understanding of the parties with respect to the matters covered herein and therein and, except as specifically set forth herein or therein, neither Lender nor Borrower makes any representation, warranty, covenant or undertaking with respect to such matters. </font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">17.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Amendments</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. This Agreement may be amended, modified, or supplemented only by written agreement of the parties. No provision of this Agreement may be waived except in writing signed by the party against whom such waiver is sought to be enforced.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">18.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Successors and Assigns</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. This Agreement shall be binding upon and inure to the benefit of the parties and their respective successors and assigns. This Agreement or any of the </font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">4</font></div></div></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">severable rights and obligations inuring to the benefit of or to be performed by Lender hereunder may be assigned by Lender to a third party, including its financing sources, in whole or in part. Borrower may not assign this Agreement or any of its obligations herein without the prior written consent of Lender.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">19.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Continuing Enforceability&#59; Conflict Between Documents</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. Except as otherwise modified by this Agreement, the Original Note and each of the other Transaction Documents shall remain in full force and effect, enforceable in accordance with all of its original terms and provisions. This Agreement shall not be effective or binding unless and until it is fully executed and delivered by Lender and Borrower. If there is any conflict between the terms of this Agreement, on the one hand, and the Original Note or any other Transaction Document, on the other hand, the terms of this Agreement shall prevail.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">20.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Time of Essence</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. Time is of the essence with respect to each and every provision of this Agreement.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">21.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Notices</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. Unless otherwise specifically provided for herein, all notices, demands or requests required or permitted under this Agreement to be given to Borrower or Lender shall be given as set forth in the &#8220;Notices&#8221; section of the Purchase Agreement.</font></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">22.&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">Further Assurances</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">. Each party shall do and perform or cause to be done and performed, all such further acts and things, and shall execute and deliver all such other agreements, certificates, instruments and documents, as the other party may reasonably request in order to carry out the intent and accomplish the purposes of this Agreement and the consummation of the transactions contemplated hereby.</font></div><div style="margin-bottom:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-style:italic;font-weight:400;line-height:100%">&#91;Remainder of page intentionally left blank&#93;</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">5</font></div></div></div><div id="i52dec0a79f2847aa842f654b0b8db9bf_4"></div><hr style="page-break-after:always"><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">IN WITNESS WHEREOF, the undersigned have executed this Agreement as of the date first set forth above.</font></div><div style="padding-left:234pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">BORROWER&#58;</font></div><div style="padding-left:234pt"><font><br></font></div><div style="padding-left:234pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">ENERGY FOCUS, INC.</font></div><div style="padding-left:234pt"><font><br></font></div><div style="padding-left:234pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">By&#58; </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">&#160;&#160;&#160;&#160;&#47;s&#47; Lesley Matt&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div><div style="padding-left:234pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Name&#58;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">&#160;&#160;&#160;&#160;Lesley Matt&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div><div style="padding-left:234pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">Title&#58; </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">&#160;&#160;&#160;&#160;CEO&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div><div><font><br></font></div><div style="padding-left:234pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:100%">LENDER&#58;</font></div><div><font><br></font></div><div style="padding-left:234pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">STREETERVILLE CAPITAL, LLC</font></div><div style="padding-left:234pt"><font><br></font></div><div style="padding-left:234pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">By&#58; </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;text-decoration:underline">&#47;s&#47; John M. Fife&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div><div style="padding-left:234pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%">John M. Fife, President</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>5
<FILENAME>a20230331exhibit31110-q.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i6e98d5fa9a6b430a8ef59c7a83466946_1"></div><div style="min-height:72pt;width:100%"><div style="padding-right:4.5pt;text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:130%">EXHIBIT 31.1</font></div></div><div style="margin-bottom:10pt;margin-top:10pt;padding-left:2.25pt;padding-right:2.25pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:130%">CERTIFICATION</font></div><div style="margin-bottom:10pt;padding-right:4.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Lesley A. Matt, certify that&#58;</font></div><div style="margin-bottom:10pt;padding-left:18pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">I have reviewed this Quarterly Report on Form 10-Q of Energy Focus, Inc.&#59;</font></div><div style="margin-bottom:10pt;padding-left:18pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report&#59;</font></div><div style="margin-bottom:10pt;padding-left:18pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59;</font></div><div style="margin-bottom:10pt;padding-left:18pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">I am responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and I have&#59;</font></div><div style="margin-bottom:10pt;padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a)&#160;&#160;&#160;&#160;Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></div><div style="margin-bottom:10pt;padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b)&#160;&#160;&#160;&#160;Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;</font></div><div style="margin-bottom:10pt;padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(c)&#160;&#160;&#160;&#160;Evaluated the effectiveness of the registrant's disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and</font></div><div style="margin-bottom:10pt;padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(d)&#160;&#160;&#160;&#160;Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant's most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></div><div style="margin-bottom:10pt;padding-left:18pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.5pt">I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of registrant's board of directors (or persons performing the equivalent functions)&#58;</font></div><div style="margin-bottom:10pt;padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a)&#160;&#160;&#160;&#160;All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information&#59; and</font></div><div style="margin-bottom:10pt;padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(b)&#160;&#160;&#160;&#160;Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.</font></div><div style="margin-top:20pt;padding-left:288pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%;text-decoration:underline">&#47;s&#47; Lesley A. Matt&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%"><br>Lesley A. Matt<br>Chief Executive Officer<br>Date&#58; May&#160;11, 2023</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>6
<FILENAME>a20230331exhibit32110-q.htm
<DESCRIPTION>EX-32.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2023 Workiva -->
<title>Document</title></head><body><div id="i65a03431573f4bdb991b8a56076b2521_1"></div><div style="min-height:72pt;width:100%"><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 32.1</font></div></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350, AS ADOPTED<br>PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="margin-bottom:10pt;padding-right:4.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">In connection with the Quarterly Report on Form 10-Q of Energy Focus, Inc. (the &#8220;Company&#8221;) for the quarterly period ended March&#160;31, 2023 (the &#8220;Report&#8221;), I, Stephen Socolof, Chairman and Interim Chief Executive Officer of the Company and I, Tod A. Nestor, Chief Operating Officer and Chief Financial Officer of the Company, each certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes Oxley Act of 2002, that to the best of my knowledge&#58;</font></div><div style="margin-bottom:10pt;padding-right:4.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">(i)   the Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934&#59; and</font></div><div style="margin-bottom:10pt;padding-right:4.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">(ii)  the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div style="margin-bottom:10pt;margin-top:20pt;padding-left:288pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%;text-decoration:underline">&#47;s&#47; Lesley A. Matt&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%"><br>Lesley A. Matt<br>Chief Executive Officer<br>Date&#58; May&#160;11, 2023</font></div><div style="margin-bottom:10pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A signed original of this written statement required by Section 906 has been provided to Energy Focus, Inc. and will be retained by Energy Focus, Inc. and furnished to the Securities and Exchange Commission or its staff upon request.</font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>7
<FILENAME>efoi-20230331.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:de1bd638-ffb7-47e5-8942-3bd62ebf833a,g:0768392e-8f6d-4653-8602-524040c13358-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:efoi="http://www.energyfocusinc.com/20230331" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.energyfocusinc.com/20230331">
  <xs:import namespace="http://fasb.org/srt/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd"/>
  <xs:import namespace="http://fasb.org/us-gaap/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd"/>
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
  <xs:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2022" schemaLocation="https://xbrl.sec.gov/dei/2022/dei-2022.xsd"/>
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="efoi-20230331_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="efoi-20230331_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="efoi-20230331_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="efoi-20230331_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="CoverPage" roleURI="http://www.energyfocusinc.com/role/CoverPage">
        <link:definition>0000001 - Document - Cover Page</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CondensedConsolidatedBalanceSheets" roleURI="http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets">
        <link:definition>0000002 - Statement - Condensed Consolidated Balance Sheets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CondensedConsolidatedBalanceSheetsParentheticals" roleURI="http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals">
        <link:definition>0000003 - Statement - Condensed Consolidated Balance Sheets (Parentheticals)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CondensedConsolidatedStatementsofOperations" roleURI="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations">
        <link:definition>0000004 - Statement - Condensed Consolidated Statements of Operations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CondensedConsolidatedStatementsofChangesinStockholdersEquity" roleURI="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity">
        <link:definition>0000005 - Statement - Condensed Consolidated Statements of Changes in Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CondensedConsolidatedStatementsofCashFlows" roleURI="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows">
        <link:definition>0000006 - Statement - Condensed Consolidated Statements of Cash Flows</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NatureofOperations" roleURI="http://www.energyfocusinc.com/role/NatureofOperations">
        <link:definition>0000007 - Disclosure - Nature of Operations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentationandSummaryofSignificantAccountingPolicies" roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies">
        <link:definition>0000008 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Inventories" roleURI="http://www.energyfocusinc.com/role/Inventories">
        <link:definition>0000009 - Disclosure - Inventories</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyandEquipment" roleURI="http://www.energyfocusinc.com/role/PropertyandEquipment">
        <link:definition>0000010 - Disclosure - Property and Equipment</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Leases" roleURI="http://www.energyfocusinc.com/role/Leases">
        <link:definition>0000011 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Debt" roleURI="http://www.energyfocusinc.com/role/Debt">
        <link:definition>0000012 - Disclosure - Debt</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxes" roleURI="http://www.energyfocusinc.com/role/IncomeTaxes">
        <link:definition>0000013 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquity" roleURI="http://www.energyfocusinc.com/role/StockholdersEquity">
        <link:definition>0000014 - Disclosure - Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsandContingencies" roleURI="http://www.energyfocusinc.com/role/CommitmentsandContingencies">
        <link:definition>0000015 - Disclosure - Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OtherIncome" roleURI="http://www.energyfocusinc.com/role/OtherIncome">
        <link:definition>0000016 - Disclosure - Other Income</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies">
        <link:definition>0000017 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentationandSummaryofSignificantAccountingPoliciesTables" roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesTables">
        <link:definition>0000018 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesTables" roleURI="http://www.energyfocusinc.com/role/InventoriesTables">
        <link:definition>0000019 - Disclosure - Inventories (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyandEquipmentTables" roleURI="http://www.energyfocusinc.com/role/PropertyandEquipmentTables">
        <link:definition>0000020 - Disclosure - Property and Equipment (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesTables" roleURI="http://www.energyfocusinc.com/role/LeasesTables">
        <link:definition>0000021 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtTables" roleURI="http://www.energyfocusinc.com/role/DebtTables">
        <link:definition>0000022 - Disclosure - Debt (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityTables" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityTables">
        <link:definition>0000023 - Disclosure - Stockholders' Equity (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentationandSummaryofSignificantAccountingPoliciesBasisofpresentationDetails" roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesBasisofpresentationDetails">
        <link:definition>0000024 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Basis of presentation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails" roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails">
        <link:definition>0000025 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Disaggregation of Revenue (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails" roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails">
        <link:definition>0000026 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Accounts Receivable and Geographic information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentationandSummaryofSignificantAccountingPoliciesNetAccountsReceivableDetails" roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetAccountsReceivableDetails">
        <link:definition>0000027 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Net Accounts Receivable (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentationandSummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedLossperShareDetails" roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedLossperShareDetails">
        <link:definition>0000028 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Loss per Share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails" roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails">
        <link:definition>0000029 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Net Loss per Share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails" roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails">
        <link:definition>0000030 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Product Warranties (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentationandSummaryofSignificantAccountingPoliciesWarrantyActivityDetails" roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesWarrantyActivityDetails">
        <link:definition>0000031 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Warranty Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails" roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails">
        <link:definition>0000032 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Certain Risks and Concentrations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesScheduleofInventoryDetails" roleURI="http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails">
        <link:definition>0000033 - Disclosure - Inventories - Schedule of Inventory (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesReserveRollforwardDetails" roleURI="http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails">
        <link:definition>0000034 - Disclosure - Inventories - Reserve Rollforward (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyandEquipmentScheduleofPropertyandEquipmentDetails" roleURI="http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails">
        <link:definition>0000035 - Disclosure - Property and Equipment - Schedule of Property and Equipment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesNarrativeDetails" roleURI="http://www.energyfocusinc.com/role/LeasesNarrativeDetails">
        <link:definition>0000036 - Disclosure - Leases - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesComponentsofLeaseCostDetails" roleURI="http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails">
        <link:definition>0000037 - Disclosure - Leases - Components of Lease Cost (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofSupplementalBalanceSheetInformationDetails" roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails">
        <link:definition>0000038 - Disclosure - Leases - Schedule of Supplemental Balance Sheet Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails" roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails">
        <link:definition>0000039 - Disclosure - Leases - Schedule of Future Maturities of Lease Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1" roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1">
        <link:definition>0000039 - Disclosure - Leases - Schedule of Future Maturities of Lease Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofSupplementalCashFlowInformationDetails" roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalCashFlowInformationDetails">
        <link:definition>0000040 - Disclosure - Leases - Schedule of Supplemental Cash Flow Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtCreditFacilitiesDetails" roleURI="http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails">
        <link:definition>0000041 - Disclosure - Debt - Credit Facilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtPromissoryNoteNarrativeDetails" roleURI="http://www.energyfocusinc.com/role/DebtPromissoryNoteNarrativeDetails">
        <link:definition>0000042 - Disclosure - Debt - Promissory Note Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtPromissoryNotesDetails" roleURI="http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails">
        <link:definition>0000043 - Disclosure - Debt - Promissory Notes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtStreetervilleNotesDetails" roleURI="http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails">
        <link:definition>0000044 - Disclosure - Debt - Streeterville Notes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesDetails" roleURI="http://www.energyfocusinc.com/role/IncomeTaxesDetails">
        <link:definition>0000045 - Disclosure - Income Taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityMarch2023PrivatePlacementsDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityMarch2023PrivatePlacementsDetails">
        <link:definition>0000046 - Disclosure - Stockholders' Equity - March 2023 Private Placements (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityFebruary2023PrivatePlacementDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityFebruary2023PrivatePlacementDetails">
        <link:definition>0000047 - Disclosure - Stockholders' Equity - February 2023 Private Placement (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails">
        <link:definition>0000048 - Disclosure - Stockholders' Equity - January 2023 Sander Electronics Private Placement (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails">
        <link:definition>0000049 - Disclosure - Stockholders' Equity - January 2023 Transactions with Mei Yun (Gina) Huang (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityJune2022PrivatePlacementDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails">
        <link:definition>0000050 - Disclosure - Stockholders' Equity - June 2022 Private Placement (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityDecember2021PrivatePlacementDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails">
        <link:definition>0000051 - Disclosure - Stockholders' Equity - December 2021 Private Placement (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityPreferredStockDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails">
        <link:definition>0000052 - Disclosure - Stockholders' Equity - Preferred Stock (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityJanuary2020EquityOfferingDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails">
        <link:definition>0000053 - Disclosure - Stockholders' Equity - January 2020 Equity Offering (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails">
        <link:definition>0000054 - Disclosure - Stockholders' Equity - Outstanding Warrants from the January 2020 Equity Offering (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityStockBasedCompensationDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails">
        <link:definition>0000055 - Disclosure - Stockholders' Equity - Stock-Based Compensation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityEstimatesUtilizedDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails">
        <link:definition>0000056 - Disclosure - Stockholders' Equity - Estimates Utilized (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityStockOptionsandaSummaryofActivityDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails">
        <link:definition>0000057 - Disclosure - Stockholders' Equity - Stock Options and a Summary of Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityRestrictedStockUnitsDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails">
        <link:definition>0000058 - Disclosure - Stockholders' Equity - Restricted Stock Units (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsandContingenciesDetails" roleURI="http://www.energyfocusinc.com/role/CommitmentsandContingenciesDetails">
        <link:definition>0000059 - Disclosure - Commitments and Contingencies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OtherIncomeDetails" roleURI="http://www.energyfocusinc.com/role/OtherIncomeDetails">
        <link:definition>0000060 - Disclosure - Other Income (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:element id="efoi_DebtInstrumentTrancheAmount" abstract="false" name="DebtInstrumentTrancheAmount" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" abstract="false" name="LeaseSupplementalBalanceSheetInformationTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="efoi_InventoryReserveRollForward" abstract="true" name="InventoryReserveRollForward" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="efoi_DateEnteredFiveMember" abstract="true" name="DateEnteredFiveMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" abstract="false" name="DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_DistributorToTheUSDepartmentOfDefenseMember" abstract="true" name="DistributorToTheUSDepartmentOfDefenseMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_DateEnteredTwoMember" abstract="true" name="DateEnteredTwoMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_CommercialProductsMember" abstract="true" name="CommercialProductsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_InventoryFacilityMember" abstract="true" name="InventoryFacilityMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" abstract="false" name="ClassOfWarrantOrRightWarrantsIssuedPricePerShare" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:perShareItemType"/>
  <xs:element id="efoi_June2022PrivatePlacementMember" abstract="true" name="June2022PrivatePlacementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_A2022PromissoryNoteMember" abstract="true" name="A2022PromissoryNoteMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" abstract="false" name="NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_ToolingMember" abstract="false" name="ToolingMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_PreFundedWarrantsMember" abstract="true" name="PreFundedWarrantsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_ClassOfWarrantOrRightWarrantsIssued" abstract="false" name="ClassOfWarrantOrRightWarrantsIssued" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="efoi_January2020EquityOfferingMember" abstract="true" name="January2020EquityOfferingMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" abstract="false" name="DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="efoi_DateEnteredOneMember" abstract="true" name="DateEnteredOneMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_OperatingLeaseCostNetOfSubleaseIncome" abstract="false" name="OperatingLeaseCostNetOfSubleaseIncome" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" abstract="false" name="LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_TopMilitaryCustomersMember" abstract="true" name="TopMilitaryCustomersMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_DebtInstrumentNumberOfCreditFacilities" abstract="false" name="DebtInstrumentNumberOfCreditFacilities" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="efoi_A2022StreetervilleNoteMember" abstract="true" name="A2022StreetervilleNoteMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_InventoryValuationReservesSalesOfInventory" abstract="false" name="InventoryValuationReservesSalesOfInventory" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_March2023PrivatePlacementMember" abstract="true" name="March2023PrivatePlacementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_TLinDirectorsMember" abstract="true" name="TLinDirectorsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold" abstract="false" name="NumberOfConsecutiveDaysForBidPriceBelowThreshold" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" abstract="false" name="PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_ReceivablesFacilityMember" abstract="true" name="ReceivablesFacilityMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" abstract="false" name="ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" abstract="false" name="FinanceLeaseRightOfUseAssetAccumulatedDepreciation" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_ContractWithCustomerPaymentTerms" abstract="false" name="ContractWithCustomerPaymentTerms" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="efoi_DateEnteredSixMember" abstract="true" name="DateEnteredSixMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_DateEnteredThreeMember" abstract="true" name="DateEnteredThreeMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_PaymentsForPlacementAgentCommissions" abstract="false" name="PaymentsForPlacementAgentCommissions" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_MMMProductsMember" abstract="true" name="MMMProductsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember" abstract="true" name="DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_JHuangDirectorMember" abstract="true" name="JHuangDirectorMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" abstract="false" name="DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_SecondAmendmentToInventoryFacilityMember" abstract="true" name="SecondAmendmentToInventoryFacilityMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_IncreaseDecreaseInProvisionForWarranties" abstract="false" name="IncreaseDecreaseInProvisionForWarranties" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_January2020EquityOfferingPrivatePlacementMember" abstract="true" name="January2020EquityOfferingPrivatePlacementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_EstimatedProceedsFromIssuanceOfWarrants" abstract="false" name="EstimatedProceedsFromIssuanceOfWarrants" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" abstract="false" name="ProceedsFromIssuanceOfCommonStockAndWarrants" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" abstract="false" name="NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent" abstract="false" name="ReceivableForClaimedEmployeeRetentionTaxCreditCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_DebtInstrumentEnteredPeriodDomain" abstract="true" name="DebtInstrumentEnteredPeriodDomain" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_TwentyTwentyTwoPromissoryNoteMember" abstract="true" name="TwentyTwentyTwoPromissoryNoteMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_FinanceLeaseRightOfUseAssetGross" abstract="false" name="FinanceLeaseRightOfUseAssetGross" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" abstract="false" name="SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="efoi_GainLossFromEmployeeRetentionTaxCredit" abstract="false" name="GainLossFromEmployeeRetentionTaxCredit" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_CommonStockMinimumBidPrice" abstract="false" name="CommonStockMinimumBidPrice" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:perShareItemType"/>
  <xs:element id="efoi_MMMLEDProductsMember" abstract="true" name="MMMLEDProductsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" abstract="false" name="PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_CommercialBuildingSystemsProviderMember" abstract="true" name="CommercialBuildingSystemsProviderMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_DebtInstrumentEnteredPeriodAxis" abstract="true" name="DebtInstrumentEnteredPeriodAxis" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrldt:dimensionItem" type="xbrli:stringItemType"/>
  <xs:element id="efoi_DistributorToTheU.S.NavyMember" abstract="true" name="DistributorToTheU.S.NavyMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_January2020WarrantsMember" abstract="true" name="January2020WarrantsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" abstract="false" name="PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_A2021StreetervilleNoteMember" abstract="true" name="A2021StreetervilleNoteMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" abstract="false" name="LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_PaymentsForClearingFees" abstract="false" name="PaymentsForClearingFees" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_January2020InstitutionalInvestorMember" abstract="true" name="January2020InstitutionalInvestorMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_DateEnteredSevenMember" abstract="true" name="DateEnteredSevenMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_InventoryValuationReservesProvisionAccrual" abstract="false" name="InventoryValuationReservesProvisionAccrual" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_InventoryValuationReservesRawMaterials" abstract="false" name="InventoryValuationReservesRawMaterials" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_March2023PartitionedNoteMember" abstract="true" name="March2023PartitionedNoteMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_OffshoreSupplierMember" abstract="true" name="OffshoreSupplierMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_RepaymentOfRemainingLongTermDebt" abstract="false" name="RepaymentOfRemainingLongTermDebt" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_December2021PrivatePlacementMember" abstract="true" name="December2021PrivatePlacementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_TotalExpendituresMember" abstract="true" name="TotalExpendituresMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" abstract="false" name="DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_InstitutionalInvestorMember" abstract="true" name="InstitutionalInvestorMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_EarningsPerShareBasicAndDilutedEPSAbstract" abstract="true" name="EarningsPerShareBasicAndDilutedEPSAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="efoi_CommonStockClosingBidPriceThreshold" abstract="false" name="CommonStockClosingBidPriceThreshold" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:perShareItemType"/>
  <xs:element id="efoi_GHuangDirectorMember" abstract="true" name="GHuangDirectorMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_StreetervilleNotePurchaseAgreementMember" abstract="true" name="StreetervilleNotePurchaseAgreementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_ShipbuilderForUSNavyMember" abstract="true" name="ShipbuilderForUSNavyMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract" abstract="true" name="OperatingLeaseAssetsAndLiabilitiesLesseeAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="efoi_February2023PrivatePlacementMember" abstract="true" name="February2023PrivatePlacementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_January2023TransactionsWithMeiYunGinaHuangMember" abstract="true" name="January2023TransactionsWithMeiYunGinaHuangMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_CommonStockTradePricePerShare" abstract="false" name="CommonStockTradePricePerShare" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:perShareItemType"/>
  <xs:element id="efoi_PercentageOfSeriesAPreferredStockEligibleToVote" abstract="false" name="PercentageOfSeriesAPreferredStockEligibleToVote" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_January2023SanderElectronicsPrivatePlacementMember" abstract="true" name="January2023SanderElectronicsPrivatePlacementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_LesseeOperatingLeaseInterestRateEffectiveRate" abstract="false" name="LesseeOperatingLeaseInterestRateEffectiveRate" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" abstract="false" name="LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_StandardProductWarrantyNumberofYears" abstract="false" name="StandardProductWarrantyNumberofYears" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="efoi_DateEnteredFourMember" abstract="true" name="DateEnteredFourMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract" abstract="true" name="FinanceLeaseAssetsAndLiabilitiesLesseeAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>8
<FILENAME>efoi-20230331_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:de1bd638-ffb7-47e5-8942-3bd62ebf833a,g:0768392e-8f6d-4653-8602-524040c13358-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets" xlink:type="simple" xlink:href="efoi-20230331.xsd#CondensedConsolidatedBalanceSheets"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_25e1689d-1dd4-4bc3-881b-3ad22cae27a4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_34872998-d4c6-4700-a172-ee42c28dc646" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_25e1689d-1dd4-4bc3-881b-3ad22cae27a4" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_34872998-d4c6-4700-a172-ee42c28dc646" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_d6ef8cf4-a7ea-48c1-a415-7d3db9cc0ed4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_25e1689d-1dd4-4bc3-881b-3ad22cae27a4" xlink:to="loc_us-gaap_AssetsCurrent_d6ef8cf4-a7ea-48c1-a415-7d3db9cc0ed4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_8bf7b87e-390f-4e6a-9092-edede2b29bec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_25e1689d-1dd4-4bc3-881b-3ad22cae27a4" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_8bf7b87e-390f-4e6a-9092-edede2b29bec" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_7ba4d099-9f13-4fe6-9ba2-d0cec8d7574f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_0bd474d8-ce0b-4f36-9b58-4856a87db14c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_7ba4d099-9f13-4fe6-9ba2-d0cec8d7574f" xlink:to="loc_us-gaap_InventoryNet_0bd474d8-ce0b-4f36-9b58-4856a87db14c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepositsAssetsCurrent_2e89aa45-0347-40f0-8836-94993899c941" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepositsAssetsCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_7ba4d099-9f13-4fe6-9ba2-d0cec8d7574f" xlink:to="loc_us-gaap_DepositsAssetsCurrent_2e89aa45-0347-40f0-8836-94993899c941" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_2a7751d0-6991-4e00-ba29-8672a0cf4f04" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_7ba4d099-9f13-4fe6-9ba2-d0cec8d7574f" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_2a7751d0-6991-4e00-ba29-8672a0cf4f04" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_63c61d90-b819-4ad5-bace-23fcf3e9d232" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_7ba4d099-9f13-4fe6-9ba2-d0cec8d7574f" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_63c61d90-b819-4ad5-bace-23fcf3e9d232" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_5d80c71e-f0b6-4221-9d91-b6d5a0010f30" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_7ba4d099-9f13-4fe6-9ba2-d0cec8d7574f" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_5d80c71e-f0b6-4221-9d91-b6d5a0010f30" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent_d1c9ac64-9fd2-4281-b6a0-5325117fc906" xlink:href="efoi-20230331.xsd#efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_7ba4d099-9f13-4fe6-9ba2-d0cec8d7574f" xlink:to="loc_efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent_d1c9ac64-9fd2-4281-b6a0-5325117fc906" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_d3676d5e-a4a1-4d43-bb93-c4bef45e25df" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_887755e1-917e-46b4-896c-dc6186d545ca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_d3676d5e-a4a1-4d43-bb93-c4bef45e25df" xlink:to="loc_us-gaap_PreferredStockValue_887755e1-917e-46b4-896c-dc6186d545ca" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_8a5eb9a0-e6a2-4908-8b50-39a3cf3c8ddc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_d3676d5e-a4a1-4d43-bb93-c4bef45e25df" xlink:to="loc_us-gaap_CommonStockValue_8a5eb9a0-e6a2-4908-8b50-39a3cf3c8ddc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_5cae3c2b-8e26-4145-b6f0-dca0850dc1fe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_d3676d5e-a4a1-4d43-bb93-c4bef45e25df" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_5cae3c2b-8e26-4145-b6f0-dca0850dc1fe" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_dba2a73e-fd47-4113-8825-012e27b19a7a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_d3676d5e-a4a1-4d43-bb93-c4bef45e25df" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_dba2a73e-fd47-4113-8825-012e27b19a7a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_28d230a5-3e89-472e-a9a0-8e7467389d63" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_d3676d5e-a4a1-4d43-bb93-c4bef45e25df" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_28d230a5-3e89-472e-a9a0-8e7467389d63" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_176ef995-79eb-46c6-957b-13421ead59e8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesPayableCurrent_73c54ba7-575b-483b-a7f9-65a7cb5e8898" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_176ef995-79eb-46c6-957b-13421ead59e8" xlink:to="loc_us-gaap_NotesPayableCurrent_73c54ba7-575b-483b-a7f9-65a7cb5e8898" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_f96f5b2d-4bcb-479b-a58b-8d60b7ecf226" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_176ef995-79eb-46c6-957b-13421ead59e8" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_f96f5b2d-4bcb-479b-a58b-8d60b7ecf226" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalesCommissionCurrent_b4982dd4-4d9c-4113-bce5-92849f305294" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedSalesCommissionCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_176ef995-79eb-46c6-957b-13421ead59e8" xlink:to="loc_us-gaap_AccruedSalesCommissionCurrent_b4982dd4-4d9c-4113-bce5-92849f305294" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualCurrent_bb354838-a3af-4690-92a5-9cb12fae66ac" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_176ef995-79eb-46c6-957b-13421ead59e8" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualCurrent_bb354838-a3af-4690-92a5-9cb12fae66ac" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesPayableRelatedPartiesClassifiedCurrent_3eb3403a-bd50-4c16-81fe-61bceebe4c62" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableRelatedPartiesClassifiedCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_176ef995-79eb-46c6-957b-13421ead59e8" xlink:to="loc_us-gaap_NotesPayableRelatedPartiesClassifiedCurrent_3eb3403a-bd50-4c16-81fe-61bceebe4c62" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LinesOfCreditCurrent_3cdb8fbd-e0f3-43af-a40c-e8668642ff37" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LinesOfCreditCurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_176ef995-79eb-46c6-957b-13421ead59e8" xlink:to="loc_us-gaap_LinesOfCreditCurrent_3cdb8fbd-e0f3-43af-a40c-e8668642ff37" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedEmployeeBenefitsCurrent_c91ce293-53cb-4a6a-b842-fa3f50321881" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_176ef995-79eb-46c6-957b-13421ead59e8" xlink:to="loc_us-gaap_AccruedEmployeeBenefitsCurrent_c91ce293-53cb-4a6a-b842-fa3f50321881" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_a00d6b5e-6cf6-4cc5-b827-5a3c356d002e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_176ef995-79eb-46c6-957b-13421ead59e8" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_a00d6b5e-6cf6-4cc5-b827-5a3c356d002e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_01d1f052-61c6-434b-8c18-e0d92feab09a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_176ef995-79eb-46c6-957b-13421ead59e8" xlink:to="loc_us-gaap_AccountsPayableCurrent_01d1f052-61c6-434b-8c18-e0d92feab09a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_8a4fffe5-c578-403b-b852-009f806af013" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_b75b8e22-7ce6-4ef1-8c5d-7f2275ec6d5f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_8a4fffe5-c578-403b-b852-009f806af013" xlink:to="loc_us-gaap_Liabilities_b75b8e22-7ce6-4ef1-8c5d-7f2275ec6d5f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_d638acf2-997c-45fa-ae54-931a6c873f89" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_8a4fffe5-c578-403b-b852-009f806af013" xlink:to="loc_us-gaap_StockholdersEquity_d638acf2-997c-45fa-ae54-931a6c873f89" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_b8b1c7c8-8196-4e93-af6e-2939a7148424" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_f754916e-d5c9-421b-ab91-1805b982fdfe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_b8b1c7c8-8196-4e93-af6e-2939a7148424" xlink:to="loc_us-gaap_LiabilitiesCurrent_f754916e-d5c9-421b-ab91-1805b982fdfe" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_202c1bb5-d4fd-49a0-839f-47d45c3a0d2f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_b8b1c7c8-8196-4e93-af6e-2939a7148424" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_202c1bb5-d4fd-49a0-839f-47d45c3a0d2f" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations" xlink:type="simple" xlink:href="efoi-20230331.xsd#CondensedConsolidatedStatementsofOperations"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_e40fb008-277d-416e-882c-5734761f7123" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_c288e006-2ca6-40b0-83c1-6e3873ccd6d2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_e40fb008-277d-416e-882c-5734761f7123" xlink:to="loc_us-gaap_GrossProfit_c288e006-2ca6-40b0-83c1-6e3873ccd6d2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_89b7ee60-87a0-48b7-8c12-f0148adaa9c9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_e40fb008-277d-416e-882c-5734761f7123" xlink:to="loc_us-gaap_OperatingExpenses_89b7ee60-87a0-48b7-8c12-f0148adaa9c9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_d1fde7ea-ba95-420f-a10a-a067c6ee1f57" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_c84f24f8-d04c-4119-803f-b30912481b0d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_d1fde7ea-ba95-420f-a10a-a067c6ee1f57" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_c84f24f8-d04c-4119-803f-b30912481b0d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_3b1ca3d9-4033-4cfc-ab95-8390f737b202" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_d1fde7ea-ba95-420f-a10a-a067c6ee1f57" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_3b1ca3d9-4033-4cfc-ab95-8390f737b202" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_e532f915-902a-4aa4-85b7-165de5ca15c2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_1dd56cd4-c676-4f38-ae05-fa7ba96615ec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_e532f915-902a-4aa4-85b7-165de5ca15c2" xlink:to="loc_us-gaap_Revenues_1dd56cd4-c676-4f38-ae05-fa7ba96615ec" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_090fbe90-952b-4e66-896a-02a8c6009582" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_e532f915-902a-4aa4-85b7-165de5ca15c2" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_090fbe90-952b-4e66-896a-02a8c6009582" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_b18c1da2-c483-44d5-b255-170b4427bfa6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncome_25c6185a-9f34-4caa-8feb-e6bc4c08f70e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncome"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_b18c1da2-c483-44d5-b255-170b4427bfa6" xlink:to="loc_us-gaap_OtherNonoperatingIncome_25c6185a-9f34-4caa-8feb-e6bc4c08f70e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_f518472f-021a-43d5-96c7-b2acc09ecef3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_b18c1da2-c483-44d5-b255-170b4427bfa6" xlink:to="loc_us-gaap_OperatingIncomeLoss_f518472f-021a-43d5-96c7-b2acc09ecef3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingExpense_e3bb3181-d7bb-47d0-9d20-d3153e088425" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingExpense"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_b18c1da2-c483-44d5-b255-170b4427bfa6" xlink:to="loc_us-gaap_OtherNonoperatingExpense_e3bb3181-d7bb-47d0-9d20-d3153e088425" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_c2f585e8-4f03-407b-8a18-8d030b4634a1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_b18c1da2-c483-44d5-b255-170b4427bfa6" xlink:to="loc_us-gaap_InterestExpense_c2f585e8-4f03-407b-8a18-8d030b4634a1" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="efoi-20230331.xsd#CondensedConsolidatedStatementsofCashFlows"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_58edde82-9e4a-460c-9791-fa9e74a7f8f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_7c564ffa-d9ed-441b-92e3-f424a90ab639" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_58edde82-9e4a-460c-9791-fa9e74a7f8f9" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_7c564ffa-d9ed-441b-92e3-f424a90ab639" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_796f9009-c7e6-4c22-a3eb-14dd29e995b8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_58edde82-9e4a-460c-9791-fa9e74a7f8f9" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_796f9009-c7e6-4c22-a3eb-14dd29e995b8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0b326296-78e0-4041-9277-6a2792f863af" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_58edde82-9e4a-460c-9791-fa9e74a7f8f9" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0b326296-78e0-4041-9277-6a2792f863af" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_2e57a58e-e972-4621-899a-21a405cb75e7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit_a0f06832-ad1f-465e-ade3-eb81e80654c5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLinesOfCredit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_2e57a58e-e972-4621-899a-21a405cb75e7" xlink:to="loc_us-gaap_ProceedsFromLinesOfCredit_a0f06832-ad1f-465e-ade3-eb81e80654c5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfNotesPayable_bafeafa6-e685-4ad6-be33-086f0707105e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfNotesPayable"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_2e57a58e-e972-4621-899a-21a405cb75e7" xlink:to="loc_us-gaap_RepaymentsOfNotesPayable_bafeafa6-e685-4ad6-be33-086f0707105e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_9c98945f-08bb-4ff4-bef3-f4eec6cea1ee" xlink:href="efoi-20230331.xsd#efoi_ProceedsFromIssuanceOfCommonStockAndWarrants"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_2e57a58e-e972-4621-899a-21a405cb75e7" xlink:to="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_9c98945f-08bb-4ff4-bef3-f4eec6cea1ee" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments_79dbb0bc-d809-421b-9ac4-c1e3a0d40254" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeasePrincipalPayments"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_2e57a58e-e972-4621-899a-21a405cb75e7" xlink:to="loc_us-gaap_FinanceLeasePrincipalPayments_79dbb0bc-d809-421b-9ac4-c1e3a0d40254" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_40ab6a67-cdaa-4d04-b183-26b88208d806" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_d80eaf49-e63e-4341-9d4f-a8d08dc3d1d9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_40ab6a67-cdaa-4d04-b183-26b88208d806" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_d80eaf49-e63e-4341-9d4f-a8d08dc3d1d9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_45fbc9d9-a3a4-49e9-b913-25ff12c41e15" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_40ab6a67-cdaa-4d04-b183-26b88208d806" xlink:to="loc_us-gaap_NetIncomeLoss_45fbc9d9-a3a4-49e9-b913-25ff12c41e15" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_32fb1785-4278-4259-82df-cd4edf6b250f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_db66ef97-e060-474d-9964-1eeb6ead7720" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_32fb1785-4278-4259-82df-cd4edf6b250f" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_db66ef97-e060-474d-9964-1eeb6ead7720" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_388a4946-165e-439f-8329-1c31b598900f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_f7a32e8b-28dd-42ee-8b34-c2542ce81fd5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_388a4946-165e-439f-8329-1c31b598900f" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_f7a32e8b-28dd-42ee-8b34-c2542ce81fd5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_ea33afdf-8243-499e-b03d-38e39bf27e36" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_388a4946-165e-439f-8329-1c31b598900f" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_ea33afdf-8243-499e-b03d-38e39bf27e36" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_fbcdab66-cb53-4b03-82b0-13d65cc8ca40" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_388a4946-165e-439f-8329-1c31b598900f" xlink:to="loc_us-gaap_ShareBasedCompensation_fbcdab66-cb53-4b03-82b0-13d65cc8ca40" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_258d8b3c-03f5-46f5-909e-64c3d256aeff" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_388a4946-165e-439f-8329-1c31b598900f" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_258d8b3c-03f5-46f5-909e-64c3d256aeff" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_7dfcbc6e-632b-48fe-a781-e0098b2341f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_388a4946-165e-439f-8329-1c31b598900f" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_7dfcbc6e-632b-48fe-a781-e0098b2341f4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets_c79716c1-4f85-407f-ba2f-0b195e64d60f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDepositOtherAssets"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_388a4946-165e-439f-8329-1c31b598900f" xlink:to="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets_c79716c1-4f85-407f-ba2f-0b195e64d60f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfDebtDiscountPremium_96b0f6f0-7105-4554-bde4-f35149576f32" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfDebtDiscountPremium"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_388a4946-165e-439f-8329-1c31b598900f" xlink:to="loc_us-gaap_AmortizationOfDebtDiscountPremium_96b0f6f0-7105-4554-bde4-f35149576f32" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossFromEmployeeRetentionTaxCredit_ab9440e9-f68b-42ab-bd18-576709a60337" xlink:href="efoi-20230331.xsd#efoi_GainLossFromEmployeeRetentionTaxCredit"/>
    <link:calculationArc order="8" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_388a4946-165e-439f-8329-1c31b598900f" xlink:to="loc_efoi_GainLossFromEmployeeRetentionTaxCredit_ab9440e9-f68b-42ab-bd18-576709a60337" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_e852f2fd-b2be-4995-ba64-3f2035a65c3a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_388a4946-165e-439f-8329-1c31b598900f" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_e852f2fd-b2be-4995-ba64-3f2035a65c3a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_5057ac28-361d-404d-a6f8-72eccd1a7c17" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:calculationArc order="10" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_388a4946-165e-439f-8329-1c31b598900f" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_5057ac28-361d-404d-a6f8-72eccd1a7c17" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_67e4a8c5-0247-41c5-bdad-e24481e38c5c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_388a4946-165e-439f-8329-1c31b598900f" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_67e4a8c5-0247-41c5-bdad-e24481e38c5c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInProvisionForWarranties_d377fed9-acfb-4b9f-81b5-89e8326952d8" xlink:href="efoi-20230331.xsd#efoi_IncreaseDecreaseInProvisionForWarranties"/>
    <link:calculationArc order="12" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_388a4946-165e-439f-8329-1c31b598900f" xlink:to="loc_efoi_IncreaseDecreaseInProvisionForWarranties_d377fed9-acfb-4b9f-81b5-89e8326952d8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_e669ec98-3dbc-41a5-aa96-bcbfceb18709" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation"/>
    <link:calculationArc order="13" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_388a4946-165e-439f-8329-1c31b598900f" xlink:to="loc_us-gaap_Depreciation_e669ec98-3dbc-41a5-aa96-bcbfceb18709" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWriteDown_d38f4a7a-9020-4fcf-a8ad-5f04de3d97b7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown"/>
    <link:calculationArc order="14" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_388a4946-165e-439f-8329-1c31b598900f" xlink:to="loc_us-gaap_InventoryWriteDown_d38f4a7a-9020-4fcf-a8ad-5f04de3d97b7" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetAccountsReceivableDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesNetAccountsReceivableDetails"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetAccountsReceivableDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_4fe24aaa-8a83-4b13-bfa0-dbca058b78d5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_90da86b6-5785-4249-affb-0fb98752d923" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent_4fe24aaa-8a83-4b13-bfa0-dbca058b78d5" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_90da86b6-5785-4249-affb-0fb98752d923" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableGrossCurrent_b3bed656-5e0f-4b13-ae9c-d77477cd5057" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent_4fe24aaa-8a83-4b13-bfa0-dbca058b78d5" xlink:to="loc_us-gaap_AccountsReceivableGrossCurrent_b3bed656-5e0f-4b13-ae9c-d77477cd5057" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#InventoriesScheduleofInventoryDetails"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_5e57cee2-94b6-4b9c-af95-945ef5064b17" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoods_4d60aa97-960e-4699-a68e-5815ebb637c1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoods"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_5e57cee2-94b6-4b9c-af95-945ef5064b17" xlink:to="loc_us-gaap_InventoryFinishedGoods_4d60aa97-960e-4699-a68e-5815ebb637c1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterials_2438ff4a-3f74-4e4a-9861-795014974731" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterials"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_5e57cee2-94b6-4b9c-af95-945ef5064b17" xlink:to="loc_us-gaap_InventoryRawMaterials_2438ff4a-3f74-4e4a-9861-795014974731" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryValuationReserves_3257b0ef-5eb6-42e3-b7d4-b7271e2021e8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryValuationReserves"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_5e57cee2-94b6-4b9c-af95-945ef5064b17" xlink:to="loc_us-gaap_InventoryValuationReserves_3257b0ef-5eb6-42e3-b7d4-b7271e2021e8" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#PropertyandEquipmentScheduleofPropertyandEquipmentDetails"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_f0e0f919-fcc3-42f7-9910-bfee993b4d96" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_da707e0a-3b51-4a48-afdd-68ec029e4f65" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_f0e0f919-fcc3-42f7-9910-bfee993b4d96" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_da707e0a-3b51-4a48-afdd-68ec029e4f65" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_699d7b4e-1c4a-44e6-bfa8-ed38e0de6af3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_f0e0f919-fcc3-42f7-9910-bfee993b4d96" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_699d7b4e-1c4a-44e6-bfa8-ed38e0de6af3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_a0522095-5817-49b7-bfad-00a38d6d7b93" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_2a6ea74b-63e0-44e5-85af-8034a9dbc87a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_a0522095-5817-49b7-bfad-00a38d6d7b93" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_2a6ea74b-63e0-44e5-85af-8034a9dbc87a" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#LeasesComponentsofLeaseCostDetails"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome_830f0c93-d604-4a1a-933e-3e535bf1a92d" xlink:href="efoi-20230331.xsd#efoi_OperatingLeaseCostNetOfSubleaseIncome"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubleaseIncome_afb87b6d-6d11-4622-9aa3-49d76ff55cc9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubleaseIncome"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome_830f0c93-d604-4a1a-933e-3e535bf1a92d" xlink:to="loc_us-gaap_SubleaseIncome_afb87b6d-6d11-4622-9aa3-49d76ff55cc9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_9d8d4e5a-fdf3-450e-97ba-7d12af13208a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome_830f0c93-d604-4a1a-933e-3e535bf1a92d" xlink:to="loc_us-gaap_OperatingLeaseCost_9d8d4e5a-fdf3-450e-97ba-7d12af13208a" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#LeasesScheduleofSupplementalBalanceSheetInformationDetails"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAsset_a67217ab-f8d6-4015-b9e2-54fce3d98159" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAsset"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseRightOfUseAssetGross_4d2eb1ec-d6e7-4a52-886b-d9dba29fa559" xlink:href="efoi-20230331.xsd#efoi_FinanceLeaseRightOfUseAssetGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseRightOfUseAsset_a67217ab-f8d6-4015-b9e2-54fce3d98159" xlink:to="loc_efoi_FinanceLeaseRightOfUseAssetGross_4d2eb1ec-d6e7-4a52-886b-d9dba29fa559" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_16d0d241-06b3-4524-ae25-30e18e895aa4" xlink:href="efoi-20230331.xsd#efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseRightOfUseAsset_a67217ab-f8d6-4015-b9e2-54fce3d98159" xlink:to="loc_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_16d0d241-06b3-4524-ae25-30e18e895aa4" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_3907166c-df34-4ad2-a146-2e5740d97b72" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_ac7aaa5a-4c18-4d42-875b-685b68e5b93a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_3907166c-df34-4ad2-a146-2e5740d97b72" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_ac7aaa5a-4c18-4d42-875b-685b68e5b93a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_c19f8f72-735b-41e4-8723-65f2325d783f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_3907166c-df34-4ad2-a146-2e5740d97b72" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_c19f8f72-735b-41e4-8723-65f2325d783f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_4d19008d-aab9-4478-9fdd-579988d0e460" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_3907166c-df34-4ad2-a146-2e5740d97b72" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_4d19008d-aab9-4478-9fdd-579988d0e460" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_a74c82ed-493d-4e6e-8491-3c628b3347e5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_3907166c-df34-4ad2-a146-2e5740d97b72" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_a74c82ed-493d-4e6e-8491-3c628b3347e5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_f6e54ae7-9ceb-4d34-9274-23e7d19ff172" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_3907166c-df34-4ad2-a146-2e5740d97b72" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_f6e54ae7-9ceb-4d34-9274-23e7d19ff172" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1" xlink:type="simple" xlink:href="efoi-20230331.xsd#LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_f3d49412-81d7-461f-be72-48d5ce73c28b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_948dcc41-b3ec-4a48-bd5d-8067e05fea7b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_f3d49412-81d7-461f-be72-48d5ce73c28b" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_948dcc41-b3ec-4a48-bd5d-8067e05fea7b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_4f7de82b-7d28-4c38-85a0-8ad9c4620cf4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_f3d49412-81d7-461f-be72-48d5ce73c28b" xlink:to="loc_us-gaap_OperatingLeaseLiability_4f7de82b-7d28-4c38-85a0-8ad9c4620cf4" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>9
<FILENAME>efoi-20230331_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:de1bd638-ffb7-47e5-8942-3bd62ebf833a,g:0768392e-8f6d-4653-8602-524040c13358-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns: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:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals" xlink:type="simple" xlink:href="efoi-20230331.xsd#CondensedConsolidatedBalanceSheetsParentheticals"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals" xlink:type="extended" id="i70515cd0590b4067ada2eb2808ffced6_CondensedConsolidatedBalanceSheetsParentheticals">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_687da376-b359-4858-b43f-258c9f405f3e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_687da376-b359-4858-b43f-258c9f405f3e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_1004ac4f-54cb-457a-900e-54e693aeb94e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_1004ac4f-54cb-457a-900e-54e693aeb94e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_4a3a4506-5d2d-49a9-b68f-74fd26528df3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_4a3a4506-5d2d-49a9-b68f-74fd26528df3" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued_79434fb6-c618-41e3-9db6-9dbe0c1c3500" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_PreferredStockSharesIssued_79434fb6-c618-41e3-9db6-9dbe0c1c3500" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_041f8bb7-1a98-48a0-9532-f36eb4d5eace" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_041f8bb7-1a98-48a0-9532-f36eb4d5eace" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_b70daacf-fa04-4a40-80b9-6bcccad515a1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_b70daacf-fa04-4a40-80b9-6bcccad515a1" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_d67bf66f-184b-4398-ae85-93e45b095d60" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_d67bf66f-184b-4398-ae85-93e45b095d60" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_6a9b2064-636a-4203-9511-86f3fd9c5355" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_CommonStockSharesIssued_6a9b2064-636a-4203-9511-86f3fd9c5355" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_88bf7200-3656-4551-9e83-c944acccad65" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_88bf7200-3656-4551-9e83-c944acccad65" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_2e256a38-6a0e-41ff-8241-cfc9d5313e65" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_StatementTable_2e256a38-6a0e-41ff-8241-cfc9d5313e65" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_f1332bbe-a1cd-4dd9-bdb4-3a3bb244584b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_2e256a38-6a0e-41ff-8241-cfc9d5313e65" xlink:to="loc_us-gaap_StatementClassOfStockAxis_f1332bbe-a1cd-4dd9-bdb4-3a3bb244584b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_f1332bbe-a1cd-4dd9-bdb4-3a3bb244584b_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_f1332bbe-a1cd-4dd9-bdb4-3a3bb244584b" xlink:to="loc_us-gaap_ClassOfStockDomain_f1332bbe-a1cd-4dd9-bdb4-3a3bb244584b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_8cbd5280-04e6-4b87-b494-9875d36855f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_f1332bbe-a1cd-4dd9-bdb4-3a3bb244584b" xlink:to="loc_us-gaap_ClassOfStockDomain_8cbd5280-04e6-4b87-b494-9875d36855f9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember_c0e889e7-acb8-4700-8f9c-0e74a39ce9ab" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertiblePreferredStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_8cbd5280-04e6-4b87-b494-9875d36855f9" xlink:to="loc_us-gaap_ConvertiblePreferredStockMember_c0e889e7-acb8-4700-8f9c-0e74a39ce9ab" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity" xlink:type="simple" xlink:href="efoi-20230331.xsd#CondensedConsolidatedStatementsofChangesinStockholdersEquity"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity" xlink:type="extended" id="i857d531fc8fd455aa06df7a61132a60e_CondensedConsolidatedStatementsofChangesinStockholdersEquity">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_a5672efd-202e-45eb-ad29-390501d7cc41" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_a5672efd-202e-45eb-ad29-390501d7cc41" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_16219e16-eabc-4c3f-a918-1232de6f1e8b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_SharesOutstanding_16219e16-eabc-4c3f-a918-1232de6f1e8b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_4d971cc3-24ca-4eb7-8b61-f7b255e15b27" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_StockholdersEquity_4d971cc3-24ca-4eb7-8b61-f7b255e15b27" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_2c0ed9a2-8588-4bcf-ac25-ee90653e7e75" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_2c0ed9a2-8588-4bcf-ac25-ee90653e7e75" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_1fe448f9-1028-46a8-96e6-4e089a1ba42a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_1fe448f9-1028-46a8-96e6-4e089a1ba42a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_14154af1-dbeb-46e2-b48c-06472539a588" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_14154af1-dbeb-46e2-b48c-06472539a588" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_786ff04d-8c81-453d-bbde-0562c217c79a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_786ff04d-8c81-453d-bbde-0562c217c79a" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_f6275b2f-e208-4051-87c8-c94c0bfdf805" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_f6275b2f-e208-4051-87c8-c94c0bfdf805" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_c2a79f2f-ed04-4dc2-8e6b-206178d6bc68" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_c2a79f2f-ed04-4dc2-8e6b-206178d6bc68" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_d9614b0d-384c-4507-b2f2-19805951b9a1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_NetIncomeLoss_d9614b0d-384c-4507-b2f2-19805951b9a1" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_de4d1e66-043d-4cdb-8c22-83bab6a31379" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_92d1fbae-4e3b-4ba0-8d9d-375b80bfa7b4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingStandardsUpdateExtensibleList_58f7f3c5-1e01-4abd-a733-85f5038d9137" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingStandardsUpdateExtensibleList"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_a5672efd-202e-45eb-ad29-390501d7cc41" xlink:to="loc_us-gaap_AccountingStandardsUpdateExtensibleList_58f7f3c5-1e01-4abd-a733-85f5038d9137" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_0274d0b1-c9ad-4526-adaa-766e858183fb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_a5672efd-202e-45eb-ad29-390501d7cc41" xlink:to="loc_us-gaap_StatementTable_0274d0b1-c9ad-4526-adaa-766e858183fb" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_0b853988-4101-4770-9efa-69490a4108dc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_0274d0b1-c9ad-4526-adaa-766e858183fb" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_0b853988-4101-4770-9efa-69490a4108dc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_0b853988-4101-4770-9efa-69490a4108dc_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_0b853988-4101-4770-9efa-69490a4108dc" xlink:to="loc_us-gaap_EquityComponentDomain_0b853988-4101-4770-9efa-69490a4108dc_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_753894de-5429-41be-be9d-fac1811dd4be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_0b853988-4101-4770-9efa-69490a4108dc" xlink:to="loc_us-gaap_EquityComponentDomain_753894de-5429-41be-be9d-fac1811dd4be" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember_435f459f-267b-4ddb-922e-03eaf6d044c8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_753894de-5429-41be-be9d-fac1811dd4be" xlink:to="loc_us-gaap_PreferredStockMember_435f459f-267b-4ddb-922e-03eaf6d044c8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_bd319c07-6ca1-42bd-9e99-15d199e6e7fc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_753894de-5429-41be-be9d-fac1811dd4be" xlink:to="loc_us-gaap_CommonStockMember_bd319c07-6ca1-42bd-9e99-15d199e6e7fc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_2158ae5d-6337-485e-8e7a-93e2953b25e0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_753894de-5429-41be-be9d-fac1811dd4be" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_2158ae5d-6337-485e-8e7a-93e2953b25e0" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_75fdaa14-73cd-42b3-9c10-49fd13984405" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_753894de-5429-41be-be9d-fac1811dd4be" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_75fdaa14-73cd-42b3-9c10-49fd13984405" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_0cf14321-8ad4-4af1-88c1-33d75444f5c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_753894de-5429-41be-be9d-fac1811dd4be" xlink:to="loc_us-gaap_RetainedEarningsMember_0cf14321-8ad4-4af1-88c1-33d75444f5c0" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_10eeee4a-6f6d-4999-a675-828515848ff2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_0274d0b1-c9ad-4526-adaa-766e858183fb" xlink:to="loc_us-gaap_AwardTypeAxis_10eeee4a-6f6d-4999-a675-828515848ff2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10eeee4a-6f6d-4999-a675-828515848ff2_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_10eeee4a-6f6d-4999-a675-828515848ff2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10eeee4a-6f6d-4999-a675-828515848ff2_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_ac3adb29-758f-4acd-ac46-4321b0d8db8f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_10eeee4a-6f6d-4999-a675-828515848ff2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_ac3adb29-758f-4acd-ac46-4321b0d8db8f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember_c14eb139-ceba-4ac8-ac67-772322ca6866" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_ac3adb29-758f-4acd-ac46-4321b0d8db8f" xlink:to="loc_us-gaap_PreferredStockMember_c14eb139-ceba-4ac8-ac67-772322ca6866" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_cb828cd5-56fa-411c-8a69-67216b68e5cd" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_0274d0b1-c9ad-4526-adaa-766e858183fb" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_cb828cd5-56fa-411c-8a69-67216b68e5cd" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_cb828cd5-56fa-411c-8a69-67216b68e5cd_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_cb828cd5-56fa-411c-8a69-67216b68e5cd" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_cb828cd5-56fa-411c-8a69-67216b68e5cd_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_abb1fa46-b1d3-41dd-aec8-4cd4273a60af" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_cb828cd5-56fa-411c-8a69-67216b68e5cd" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_abb1fa46-b1d3-41dd-aec8-4cd4273a60af" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_0371c71b-2a39-43ae-8cbe-0b6d57648f10" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_abb1fa46-b1d3-41dd-aec8-4cd4273a60af" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_0371c71b-2a39-43ae-8cbe-0b6d57648f10" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="efoi-20230331.xsd#CondensedConsolidatedStatementsofCashFlows"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows" xlink:type="extended" id="i21f77330bf61474bb79179c76a1df422_CondensedConsolidatedStatementsofCashFlows">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_201575d5-a8d2-432b-ac39-adcab29e56f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_bde1d78a-786a-4937-8eea-1ce0f0dad064" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_201575d5-a8d2-432b-ac39-adcab29e56f9" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_bde1d78a-786a-4937-8eea-1ce0f0dad064" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_2233441c-7d0a-4ac6-bce7-020abb21ce73" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_bde1d78a-786a-4937-8eea-1ce0f0dad064" xlink:to="loc_us-gaap_NetIncomeLoss_2233441c-7d0a-4ac6-bce7-020abb21ce73" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_bde1d78a-786a-4937-8eea-1ce0f0dad064" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossFromEmployeeRetentionTaxCredit_acd3f3c2-9d97-4c88-9df0-17a57e2f6a11" xlink:href="efoi-20230331.xsd#efoi_GainLossFromEmployeeRetentionTaxCredit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:to="loc_efoi_GainLossFromEmployeeRetentionTaxCredit_acd3f3c2-9d97-4c88-9df0-17a57e2f6a11" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_16ffad0a-6f2b-45cd-ac16-bae2ed115087" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:to="loc_us-gaap_Depreciation_16ffad0a-6f2b-45cd-ac16-bae2ed115087" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_4056324d-0849-4d09-b4f6-d85164fcae38" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:to="loc_us-gaap_ShareBasedCompensation_4056324d-0849-4d09-b4f6-d85164fcae38" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_350deea8-ce5e-41dd-abe1-4d62ba23b852" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_350deea8-ce5e-41dd-abe1-4d62ba23b852" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWriteDown_54415d05-f36b-4ea9-bdca-ca66c76eb20c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:to="loc_us-gaap_InventoryWriteDown_54415d05-f36b-4ea9-bdca-ca66c76eb20c" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInProvisionForWarranties_238f2512-9c63-4c5a-9609-7517a234e341" xlink:href="efoi-20230331.xsd#efoi_IncreaseDecreaseInProvisionForWarranties"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:to="loc_efoi_IncreaseDecreaseInProvisionForWarranties_238f2512-9c63-4c5a-9609-7517a234e341" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfDebtDiscountPremium_8dfff629-a13e-4b44-b94c-d77090801549" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfDebtDiscountPremium"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:to="loc_us-gaap_AmortizationOfDebtDiscountPremium_8dfff629-a13e-4b44-b94c-d77090801549" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_d194aa2c-f15b-431b-810c-2de40bc7b1c3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_d194aa2c-f15b-431b-810c-2de40bc7b1c3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_d26f053c-605f-4d3d-91d9-f4e5549cbed2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_d26f053c-605f-4d3d-91d9-f4e5549cbed2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets_3e25b92e-2029-4c31-a2ac-70d242185b14" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDepositOtherAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:to="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets_3e25b92e-2029-4c31-a2ac-70d242185b14" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_79f5fc4e-8215-48e2-9a2b-9ed0d82f628e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_79f5fc4e-8215-48e2-9a2b-9ed0d82f628e" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_82bfba85-26c7-4655-a199-5194a8c2b680" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_82bfba85-26c7-4655-a199-5194a8c2b680" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_acaa2e58-3ae4-4ce5-a92f-5e813a360ab6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_acaa2e58-3ae4-4ce5-a92f-5e813a360ab6" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_63fa0691-b6fe-430b-8bda-6af15f2b7c49" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_63fa0691-b6fe-430b-8bda-6af15f2b7c49" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_06298eaf-76b4-48f0-af43-93c2f612fc45" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_06298eaf-76b4-48f0-af43-93c2f612fc45" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_dd5145a7-20b6-418e-bf32-dbd2ad4d1e6e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_bde1d78a-786a-4937-8eea-1ce0f0dad064" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_dd5145a7-20b6-418e-bf32-dbd2ad4d1e6e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_f7e3b3e2-8c7f-4a35-b7f9-8298d9ab3e12" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_201575d5-a8d2-432b-ac39-adcab29e56f9" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_f7e3b3e2-8c7f-4a35-b7f9-8298d9ab3e12" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1227c76c-3e43-4407-a179-402c0c1c56bf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_f7e3b3e2-8c7f-4a35-b7f9-8298d9ab3e12" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1227c76c-3e43-4407-a179-402c0c1c56bf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_9ef628dc-6a31-48c0-843e-32d1fb1e6915" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_f7e3b3e2-8c7f-4a35-b7f9-8298d9ab3e12" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_9ef628dc-6a31-48c0-843e-32d1fb1e6915" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a298caa0-346e-4541-bbf0-131e511849e6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_201575d5-a8d2-432b-ac39-adcab29e56f9" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a298caa0-346e-4541-bbf0-131e511849e6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_dd9805f6-05f1-467f-9ffb-f423ad2a35f3" xlink:href="efoi-20230331.xsd#efoi_ProceedsFromIssuanceOfCommonStockAndWarrants"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a298caa0-346e-4541-bbf0-131e511849e6" xlink:to="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_dd9805f6-05f1-467f-9ffb-f423ad2a35f3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments_bb57bad9-d6fd-4e08-8e61-e166a5942361" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeasePrincipalPayments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a298caa0-346e-4541-bbf0-131e511849e6" xlink:to="loc_us-gaap_FinanceLeasePrincipalPayments_bb57bad9-d6fd-4e08-8e61-e166a5942361" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfNotesPayable_ed61848e-eb16-4f6c-99fa-f417e7423ed2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfNotesPayable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a298caa0-346e-4541-bbf0-131e511849e6" xlink:to="loc_us-gaap_RepaymentsOfNotesPayable_ed61848e-eb16-4f6c-99fa-f417e7423ed2" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit_05ba7e53-628b-4580-94c2-106672b3607d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLinesOfCredit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a298caa0-346e-4541-bbf0-131e511849e6" xlink:to="loc_us-gaap_ProceedsFromLinesOfCredit_05ba7e53-628b-4580-94c2-106672b3607d" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_343c88e6-9be2-4b3b-a0a9-46c6f85baca7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a298caa0-346e-4541-bbf0-131e511849e6" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_343c88e6-9be2-4b3b-a0a9-46c6f85baca7" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_3a3f9d21-837e-4989-897d-7ed1b6a71a3d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_201575d5-a8d2-432b-ac39-adcab29e56f9" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_3a3f9d21-837e-4989-897d-7ed1b6a71a3d" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0d1230e3-5e2a-4067-aa32-18438eac44cd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_201575d5-a8d2-432b-ac39-adcab29e56f9" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0d1230e3-5e2a-4067-aa32-18438eac44cd" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_1e4e6383-36df-4b9a-b900-c4bec377adc9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_6219f220-de1b-4dfc-91d3-1f34d195d9de" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_201575d5-a8d2-432b-ac39-adcab29e56f9" xlink:to="loc_us-gaap_StatementTable_6219f220-de1b-4dfc-91d3-1f34d195d9de" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_c4c88750-793b-4e7c-a0f2-976fdaf6a290" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_6219f220-de1b-4dfc-91d3-1f34d195d9de" xlink:to="loc_us-gaap_DebtInstrumentAxis_c4c88750-793b-4e7c-a0f2-976fdaf6a290" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_c4c88750-793b-4e7c-a0f2-976fdaf6a290_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_c4c88750-793b-4e7c-a0f2-976fdaf6a290" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_c4c88750-793b-4e7c-a0f2-976fdaf6a290_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_d98d4a22-43b0-49c1-9a7e-9b38eda0b728" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_c4c88750-793b-4e7c-a0f2-976fdaf6a290" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_d98d4a22-43b0-49c1-9a7e-9b38eda0b728" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A2022StreetervilleNoteMember_68ba2094-dca0-437a-8e6e-543302b52eca" xlink:href="efoi-20230331.xsd#efoi_A2022StreetervilleNoteMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_d98d4a22-43b0-49c1-9a7e-9b38eda0b728" xlink:to="loc_efoi_A2022StreetervilleNoteMember_68ba2094-dca0-437a-8e6e-543302b52eca" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A2021StreetervilleNoteMember_ca96f22f-386b-4ce9-8fac-9199e21eb92b" xlink:href="efoi-20230331.xsd#efoi_A2021StreetervilleNoteMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_d98d4a22-43b0-49c1-9a7e-9b38eda0b728" xlink:to="loc_efoi_A2021StreetervilleNoteMember_ca96f22f-386b-4ce9-8fac-9199e21eb92b" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails" xlink:type="extended" id="i1df830038ad14729b00edde0ad7b0d5c_BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_db0695b8-434e-410e-be3b-5029b4f5aec2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_f5c8558a-f965-4ced-8d48-926edad9a40e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_db0695b8-434e-410e-be3b-5029b4f5aec2" xlink:to="loc_us-gaap_Revenues_f5c8558a-f965-4ced-8d48-926edad9a40e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_834345ad-a016-48df-ad52-5d13d1aac6f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_db0695b8-434e-410e-be3b-5029b4f5aec2" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_834345ad-a016-48df-ad52-5d13d1aac6f9" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_bedcfcae-64be-494d-92ca-abd9db3701ee" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_834345ad-a016-48df-ad52-5d13d1aac6f9" xlink:to="loc_srt_ProductOrServiceAxis_bedcfcae-64be-494d-92ca-abd9db3701ee" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_bedcfcae-64be-494d-92ca-abd9db3701ee_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_bedcfcae-64be-494d-92ca-abd9db3701ee" xlink:to="loc_srt_ProductsAndServicesDomain_bedcfcae-64be-494d-92ca-abd9db3701ee_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_31fdc8d9-3cc9-420a-8057-867eff6c0bd4" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_bedcfcae-64be-494d-92ca-abd9db3701ee" xlink:to="loc_srt_ProductsAndServicesDomain_31fdc8d9-3cc9-420a-8057-867eff6c0bd4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommercialProductsMember_397fec80-db90-4357-8cb8-e0048f0698d1" xlink:href="efoi-20230331.xsd#efoi_CommercialProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_31fdc8d9-3cc9-420a-8057-867eff6c0bd4" xlink:to="loc_efoi_CommercialProductsMember_397fec80-db90-4357-8cb8-e0048f0698d1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_MMMProductsMember_001bf858-6681-45d1-81f3-54941913d7b8" xlink:href="efoi-20230331.xsd#efoi_MMMProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_31fdc8d9-3cc9-420a-8057-867eff6c0bd4" xlink:to="loc_efoi_MMMProductsMember_001bf858-6681-45d1-81f3-54941913d7b8" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails" xlink:type="extended" id="i9e9b209761a744af953ce50be84aec3f_BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_6b432d7b-8f7b-4815-afae-b23fbbc8ee89" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ContractWithCustomerPaymentTerms_6e0c4537-8aee-4822-bac0-16dcd9a32822" xlink:href="efoi-20230331.xsd#efoi_ContractWithCustomerPaymentTerms"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_6b432d7b-8f7b-4815-afae-b23fbbc8ee89" xlink:to="loc_efoi_ContractWithCustomerPaymentTerms_6e0c4537-8aee-4822-bac0-16dcd9a32822" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_d87d2945-f0f2-467a-951f-44c89929d1b3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_6b432d7b-8f7b-4815-afae-b23fbbc8ee89" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_d87d2945-f0f2-467a-951f-44c89929d1b3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_20f3ab1f-0542-4dd4-bc8f-f173bdc1de0c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_6b432d7b-8f7b-4815-afae-b23fbbc8ee89" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_20f3ab1f-0542-4dd4-bc8f-f173bdc1de0c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_9908e00d-9dcb-4b04-8728-710330f90bf8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_6b432d7b-8f7b-4815-afae-b23fbbc8ee89" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_9908e00d-9dcb-4b04-8728-710330f90bf8" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable_45e21365-d0f2-4caf-8c66-5f1bf4a4f2ac" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_6b432d7b-8f7b-4815-afae-b23fbbc8ee89" xlink:to="loc_us-gaap_ConcentrationRiskTable_45e21365-d0f2-4caf-8c66-5f1bf4a4f2ac" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_dda1e5a2-21f2-4fce-a860-8a9f3b39203b" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_45e21365-d0f2-4caf-8c66-5f1bf4a4f2ac" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_dda1e5a2-21f2-4fce-a860-8a9f3b39203b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_dda1e5a2-21f2-4fce-a860-8a9f3b39203b_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_dda1e5a2-21f2-4fce-a860-8a9f3b39203b" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_dda1e5a2-21f2-4fce-a860-8a9f3b39203b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_61475ac6-9ab1-4193-9402-b189e830fcdd" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_dda1e5a2-21f2-4fce-a860-8a9f3b39203b" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_61475ac6-9ab1-4193-9402-b189e830fcdd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_9e437870-c7aa-4aa6-882d-6d861a4377fa" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_61475ac6-9ab1-4193-9402-b189e830fcdd" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_9e437870-c7aa-4aa6-882d-6d861a4377fa" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_dd1b57d9-915c-4157-b853-934523fe169e" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_45e21365-d0f2-4caf-8c66-5f1bf4a4f2ac" xlink:to="loc_srt_StatementGeographicalAxis_dd1b57d9-915c-4157-b853-934523fe169e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_dd1b57d9-915c-4157-b853-934523fe169e_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_dd1b57d9-915c-4157-b853-934523fe169e" xlink:to="loc_srt_SegmentGeographicalDomain_dd1b57d9-915c-4157-b853-934523fe169e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_69f205d2-42fe-4048-981b-a6352bde5936" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_dd1b57d9-915c-4157-b853-934523fe169e" xlink:to="loc_srt_SegmentGeographicalDomain_69f205d2-42fe-4048-981b-a6352bde5936" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonUsMember_1d98a577-937f-428d-8f6a-a4fe51892dfa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonUsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_69f205d2-42fe-4048-981b-a6352bde5936" xlink:to="loc_us-gaap_NonUsMember_1d98a577-937f-428d-8f6a-a4fe51892dfa" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_111e1c50-fd06-4f96-9032-1df56db11122" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_45e21365-d0f2-4caf-8c66-5f1bf4a4f2ac" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_111e1c50-fd06-4f96-9032-1df56db11122" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_111e1c50-fd06-4f96-9032-1df56db11122_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_111e1c50-fd06-4f96-9032-1df56db11122" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_111e1c50-fd06-4f96-9032-1df56db11122_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_7bfb7589-c178-4e45-8c2c-c7b76604f8c9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_111e1c50-fd06-4f96-9032-1df56db11122" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_7bfb7589-c178-4e45-8c2c-c7b76604f8c9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember_e246e016-815d-43f5-a513-2f1c012957f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_7bfb7589-c178-4e45-8c2c-c7b76604f8c9" xlink:to="loc_us-gaap_SalesRevenueNetMember_e246e016-815d-43f5-a513-2f1c012957f9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_81fd1aef-d672-4a05-930d-873a14dd1be1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_45e21365-d0f2-4caf-8c66-5f1bf4a4f2ac" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_81fd1aef-d672-4a05-930d-873a14dd1be1" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_81fd1aef-d672-4a05-930d-873a14dd1be1_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_81fd1aef-d672-4a05-930d-873a14dd1be1" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_81fd1aef-d672-4a05-930d-873a14dd1be1_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_6fe2399a-248a-40fc-a6e3-9c504fb62754" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_81fd1aef-d672-4a05-930d-873a14dd1be1" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_6fe2399a-248a-40fc-a6e3-9c504fb62754" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeographicConcentrationRiskMember_bb4a5f2a-34b2-4fbb-b944-7cde82579af6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeographicConcentrationRiskMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_6fe2399a-248a-40fc-a6e3-9c504fb62754" xlink:to="loc_us-gaap_GeographicConcentrationRiskMember_bb4a5f2a-34b2-4fbb-b944-7cde82579af6" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails" xlink:type="extended" id="i7004f74c082544b19f37154ba7bd7a3d_BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_b26821f8-cb16-4a9c-a298-7d334e374f9f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_d0adb729-7619-4735-a0b3-acb319dfeaf3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_b26821f8-cb16-4a9c-a298-7d334e374f9f" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_d0adb729-7619-4735-a0b3-acb319dfeaf3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_20fe55f4-34c8-42c2-8570-7de4e03bea85" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_b26821f8-cb16-4a9c-a298-7d334e374f9f" xlink:to="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_20fe55f4-34c8-42c2-8570-7de4e03bea85" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_c44179c2-757d-46f6-aed8-eed0ea1763b0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_20fe55f4-34c8-42c2-8570-7de4e03bea85" xlink:to="loc_us-gaap_AwardTypeAxis_c44179c2-757d-46f6-aed8-eed0ea1763b0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c44179c2-757d-46f6-aed8-eed0ea1763b0_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_c44179c2-757d-46f6-aed8-eed0ea1763b0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c44179c2-757d-46f6-aed8-eed0ea1763b0_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6be7e5ff-59eb-48eb-8754-3505007b01bb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_c44179c2-757d-46f6-aed8-eed0ea1763b0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6be7e5ff-59eb-48eb-8754-3505007b01bb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember_b3646797-c0a2-4cfd-adde-dd36ca8ff6b3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertiblePreferredStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6be7e5ff-59eb-48eb-8754-3505007b01bb" xlink:to="loc_us-gaap_ConvertiblePreferredStockMember_b3646797-c0a2-4cfd-adde-dd36ca8ff6b3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember_087cbb38-6f71-480e-aae9-b824e88001ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WarrantMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6be7e5ff-59eb-48eb-8754-3505007b01bb" xlink:to="loc_us-gaap_WarrantMember_087cbb38-6f71-480e-aae9-b824e88001ce" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails" xlink:type="extended" id="i3bfa27cea930402e87d7f0b436ef8b59_BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyLiabilityLineItems_ffc0cded-ff82-4a51-99b7-c618ebd01b11" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_StandardProductWarrantyNumberofYears_7c15c78a-4a72-4d5b-91e2-bae797d306ba" xlink:href="efoi-20230331.xsd#efoi_StandardProductWarrantyNumberofYears"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems_ffc0cded-ff82-4a51-99b7-c618ebd01b11" xlink:to="loc_efoi_StandardProductWarrantyNumberofYears_7c15c78a-4a72-4d5b-91e2-bae797d306ba" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyLiabilityTable_aff4e512-9105-41df-b47a-697f785ddad3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems_ffc0cded-ff82-4a51-99b7-c618ebd01b11" xlink:to="loc_us-gaap_ProductWarrantyLiabilityTable_aff4e512-9105-41df-b47a-697f785ddad3" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_b4674bfc-263a-48bc-9b3e-d78a5cf7cd3d" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable_aff4e512-9105-41df-b47a-697f785ddad3" xlink:to="loc_srt_ProductOrServiceAxis_b4674bfc-263a-48bc-9b3e-d78a5cf7cd3d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_b4674bfc-263a-48bc-9b3e-d78a5cf7cd3d_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_b4674bfc-263a-48bc-9b3e-d78a5cf7cd3d" xlink:to="loc_srt_ProductsAndServicesDomain_b4674bfc-263a-48bc-9b3e-d78a5cf7cd3d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_ff11b710-dcee-495f-a833-967791335858" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_b4674bfc-263a-48bc-9b3e-d78a5cf7cd3d" xlink:to="loc_srt_ProductsAndServicesDomain_ff11b710-dcee-495f-a833-967791335858" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommercialProductsMember_5f7a2a03-aa71-4d89-b34f-d2ea61e59b7e" xlink:href="efoi-20230331.xsd#efoi_CommercialProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_ff11b710-dcee-495f-a833-967791335858" xlink:to="loc_efoi_CommercialProductsMember_5f7a2a03-aa71-4d89-b34f-d2ea61e59b7e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_MMMLEDProductsMember_68476209-44a6-47cf-af46-3c1117540dc4" xlink:href="efoi-20230331.xsd#efoi_MMMLEDProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_ff11b710-dcee-495f-a833-967791335858" xlink:to="loc_efoi_MMMLEDProductsMember_68476209-44a6-47cf-af46-3c1117540dc4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_1d806373-4f33-4aa9-bb1c-4f160821ae91" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable_aff4e512-9105-41df-b47a-697f785ddad3" xlink:to="loc_srt_RangeAxis_1d806373-4f33-4aa9-bb1c-4f160821ae91" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_1d806373-4f33-4aa9-bb1c-4f160821ae91_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_1d806373-4f33-4aa9-bb1c-4f160821ae91" xlink:to="loc_srt_RangeMember_1d806373-4f33-4aa9-bb1c-4f160821ae91_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_5b3af9b6-589a-4765-a6a2-68acc32a8d90" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_1d806373-4f33-4aa9-bb1c-4f160821ae91" xlink:to="loc_srt_RangeMember_5b3af9b6-589a-4765-a6a2-68acc32a8d90" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_7ecdb58e-0b95-4711-a1c2-d92de008f049" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_5b3af9b6-589a-4765-a6a2-68acc32a8d90" xlink:to="loc_srt_MinimumMember_7ecdb58e-0b95-4711-a1c2-d92de008f049" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_f1e5de6b-beab-44d2-9eb9-663a193f3402" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_5b3af9b6-589a-4765-a6a2-68acc32a8d90" xlink:to="loc_srt_MaximumMember_f1e5de6b-beab-44d2-9eb9-663a193f3402" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails" xlink:type="extended" id="i9adb85446f304fd1a43adee473d3ba17_BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_32c373ef-e119-4d53-a068-58befb8a47be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_310af74d-b9dc-43fe-b66d-44d59882a6e5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_32c373ef-e119-4d53-a068-58befb8a47be" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_310af74d-b9dc-43fe-b66d-44d59882a6e5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable_b276b445-f9ba-4671-b507-4ca75d9e9f23" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_32c373ef-e119-4d53-a068-58befb8a47be" xlink:to="loc_us-gaap_ConcentrationRiskTable_b276b445-f9ba-4671-b507-4ca75d9e9f23" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_dd1ab0a0-a05b-4df5-8bba-49177d096807" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_b276b445-f9ba-4671-b507-4ca75d9e9f23" xlink:to="loc_srt_MajorCustomersAxis_dd1ab0a0-a05b-4df5-8bba-49177d096807" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_dd1ab0a0-a05b-4df5-8bba-49177d096807_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_MajorCustomersAxis_dd1ab0a0-a05b-4df5-8bba-49177d096807" xlink:to="loc_srt_NameOfMajorCustomerDomain_dd1ab0a0-a05b-4df5-8bba-49177d096807_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_ef3551f4-625d-4740-bfd8-611dbda0dbdc" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_MajorCustomersAxis_dd1ab0a0-a05b-4df5-8bba-49177d096807" xlink:to="loc_srt_NameOfMajorCustomerDomain_ef3551f4-625d-4740-bfd8-611dbda0dbdc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToTheU.S.NavyMember_623ab791-91a6-46c2-aa02-041d88aff0e7" xlink:href="efoi-20230331.xsd#efoi_DistributorToTheU.S.NavyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_ef3551f4-625d-4740-bfd8-611dbda0dbdc" xlink:to="loc_efoi_DistributorToTheU.S.NavyMember_623ab791-91a6-46c2-aa02-041d88aff0e7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ShipbuilderForUSNavyMember_ba6e92f3-f4fb-4fdf-9205-a9a80710c390" xlink:href="efoi-20230331.xsd#efoi_ShipbuilderForUSNavyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_ef3551f4-625d-4740-bfd8-611dbda0dbdc" xlink:to="loc_efoi_ShipbuilderForUSNavyMember_ba6e92f3-f4fb-4fdf-9205-a9a80710c390" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToTheUSDepartmentOfDefenseMember_0b187432-6095-4251-a984-ecb9a9c340da" xlink:href="efoi-20230331.xsd#efoi_DistributorToTheUSDepartmentOfDefenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_ef3551f4-625d-4740-bfd8-611dbda0dbdc" xlink:to="loc_efoi_DistributorToTheUSDepartmentOfDefenseMember_0b187432-6095-4251-a984-ecb9a9c340da" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TopMilitaryCustomersMember_af3a7439-7c31-4394-aea8-0440053c4aaa" xlink:href="efoi-20230331.xsd#efoi_TopMilitaryCustomersMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_ef3551f4-625d-4740-bfd8-611dbda0dbdc" xlink:to="loc_efoi_TopMilitaryCustomersMember_af3a7439-7c31-4394-aea8-0440053c4aaa" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommercialBuildingSystemsProviderMember_48a8eb29-c1fa-4eed-b2bd-633a1f949ee0" xlink:href="efoi-20230331.xsd#efoi_CommercialBuildingSystemsProviderMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_ef3551f4-625d-4740-bfd8-611dbda0dbdc" xlink:to="loc_efoi_CommercialBuildingSystemsProviderMember_48a8eb29-c1fa-4eed-b2bd-633a1f949ee0" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember_eee762f5-92b4-4c81-aed7-55ecba20c4dc" xlink:href="efoi-20230331.xsd#efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_ef3551f4-625d-4740-bfd8-611dbda0dbdc" xlink:to="loc_efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember_eee762f5-92b4-4c81-aed7-55ecba20c4dc" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_6ef64c00-b8c1-4c59-8358-0ad9c2232996" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_b276b445-f9ba-4671-b507-4ca75d9e9f23" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_6ef64c00-b8c1-4c59-8358-0ad9c2232996" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_6ef64c00-b8c1-4c59-8358-0ad9c2232996_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_6ef64c00-b8c1-4c59-8358-0ad9c2232996" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_6ef64c00-b8c1-4c59-8358-0ad9c2232996_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_77655704-042b-4cff-b61e-a09179c85602" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_6ef64c00-b8c1-4c59-8358-0ad9c2232996" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_77655704-042b-4cff-b61e-a09179c85602" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember_3abd8e82-6acf-489e-ba65-7cba8388a284" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_77655704-042b-4cff-b61e-a09179c85602" xlink:to="loc_us-gaap_SalesRevenueNetMember_3abd8e82-6acf-489e-ba65-7cba8388a284" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember_8c5a761a-aded-421c-b913-2b76ba361864" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_77655704-042b-4cff-b61e-a09179c85602" xlink:to="loc_us-gaap_AccountsReceivableMember_8c5a761a-aded-421c-b913-2b76ba361864" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TotalExpendituresMember_e2b74154-ebda-4f73-ac59-74cbc4b305de" xlink:href="efoi-20230331.xsd#efoi_TotalExpendituresMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_77655704-042b-4cff-b61e-a09179c85602" xlink:to="loc_efoi_TotalExpendituresMember_e2b74154-ebda-4f73-ac59-74cbc4b305de" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableMember_1297bb2b-c3ca-4b30-a2fd-3bf30d738e4c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_77655704-042b-4cff-b61e-a09179c85602" xlink:to="loc_us-gaap_AccountsPayableMember_1297bb2b-c3ca-4b30-a2fd-3bf30d738e4c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_4613d34e-5b9d-4e81-a50f-3ab108fe026a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_b276b445-f9ba-4671-b507-4ca75d9e9f23" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_4613d34e-5b9d-4e81-a50f-3ab108fe026a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_4613d34e-5b9d-4e81-a50f-3ab108fe026a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_4613d34e-5b9d-4e81-a50f-3ab108fe026a" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_4613d34e-5b9d-4e81-a50f-3ab108fe026a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_1418942d-dcce-4eef-a968-709613ab72e1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_4613d34e-5b9d-4e81-a50f-3ab108fe026a" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_1418942d-dcce-4eef-a968-709613ab72e1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_0f144a0b-57fb-41d9-9b39-50ba9a580999" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_1418942d-dcce-4eef-a968-709613ab72e1" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_0f144a0b-57fb-41d9-9b39-50ba9a580999" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplierConcentrationRiskMember_f57c06ac-7b7c-48eb-93bb-9c80077d9cd2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplierConcentrationRiskMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_1418942d-dcce-4eef-a968-709613ab72e1" xlink:to="loc_us-gaap_SupplierConcentrationRiskMember_f57c06ac-7b7c-48eb-93bb-9c80077d9cd2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_3987be6a-7dbf-493a-840c-668b59c98fec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_b276b445-f9ba-4671-b507-4ca75d9e9f23" xlink:to="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_3987be6a-7dbf-493a-840c-668b59c98fec" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_3987be6a-7dbf-493a-840c-668b59c98fec_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_3987be6a-7dbf-493a-840c-668b59c98fec" xlink:to="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_3987be6a-7dbf-493a-840c-668b59c98fec_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_fa416655-a478-48af-a7aa-bff263826c15" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_3987be6a-7dbf-493a-840c-668b59c98fec" xlink:to="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_fa416655-a478-48af-a7aa-bff263826c15" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OffshoreSupplierMember_742a20f1-948f-4208-a49e-724c299eb4f0" xlink:href="efoi-20230331.xsd#efoi_OffshoreSupplierMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_fa416655-a478-48af-a7aa-bff263826c15" xlink:to="loc_efoi_OffshoreSupplierMember_742a20f1-948f-4208-a49e-724c299eb4f0" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#PropertyandEquipmentScheduleofPropertyandEquipmentDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails" xlink:type="extended" id="i32c04b075d6042a1890e338d6e472a20_PropertyandEquipmentScheduleofPropertyandEquipmentDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9c2114c0-3e81-4284-ae71-cdccaf3667f0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_e3b08112-f786-41f1-84c9-09a833a33f24" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9c2114c0-3e81-4284-ae71-cdccaf3667f0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_e3b08112-f786-41f1-84c9-09a833a33f24" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_e2b6195c-54dc-4ef1-af63-ea6676f22276" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9c2114c0-3e81-4284-ae71-cdccaf3667f0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_e2b6195c-54dc-4ef1-af63-ea6676f22276" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_59a343a8-59e9-462b-82e4-9d2b18e7c66e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9c2114c0-3e81-4284-ae71-cdccaf3667f0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_59a343a8-59e9-462b-82e4-9d2b18e7c66e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_af88e3d5-7149-42db-bab1-3914569863bf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9c2114c0-3e81-4284-ae71-cdccaf3667f0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_af88e3d5-7149-42db-bab1-3914569863bf" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_ad995a73-23f6-4e1a-aeee-f31470c01878" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9c2114c0-3e81-4284-ae71-cdccaf3667f0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_ad995a73-23f6-4e1a-aeee-f31470c01878" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_49f6f7f8-a023-4073-b3dd-c875269731f1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9c2114c0-3e81-4284-ae71-cdccaf3667f0" xlink:to="loc_us-gaap_Depreciation_49f6f7f8-a023-4073-b3dd-c875269731f1" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_1600aef3-da07-4562-91b1-5995ceb29dc9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9c2114c0-3e81-4284-ae71-cdccaf3667f0" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_1600aef3-da07-4562-91b1-5995ceb29dc9" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_36179411-07d6-48bd-8a55-d7d5d0b0f301" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_1600aef3-da07-4562-91b1-5995ceb29dc9" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_36179411-07d6-48bd-8a55-d7d5d0b0f301" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_36179411-07d6-48bd-8a55-d7d5d0b0f301_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_36179411-07d6-48bd-8a55-d7d5d0b0f301" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_36179411-07d6-48bd-8a55-d7d5d0b0f301_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_68394150-e942-4950-aca3-3e6ae9c949a4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_36179411-07d6-48bd-8a55-d7d5d0b0f301" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_68394150-e942-4950-aca3-3e6ae9c949a4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquipmentMember_c2a13883-3a7b-4214-9d55-b40e297bd6e9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_68394150-e942-4950-aca3-3e6ae9c949a4" xlink:to="loc_us-gaap_EquipmentMember_c2a13883-3a7b-4214-9d55-b40e297bd6e9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ToolingMember_599a5b35-50a1-4440-9f57-84fb6edc05a1" xlink:href="efoi-20230331.xsd#efoi_ToolingMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_68394150-e942-4950-aca3-3e6ae9c949a4" xlink:to="loc_efoi_ToolingMember_599a5b35-50a1-4440-9f57-84fb6edc05a1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_7427f48e-d71e-4655-a6ba-4dca9d2707a4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_68394150-e942-4950-aca3-3e6ae9c949a4" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_7427f48e-d71e-4655-a6ba-4dca9d2707a4" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_310489d4-51a1-497b-a72f-f21d3a79a415" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_1600aef3-da07-4562-91b1-5995ceb29dc9" xlink:to="loc_srt_RangeAxis_310489d4-51a1-497b-a72f-f21d3a79a415" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_310489d4-51a1-497b-a72f-f21d3a79a415_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_310489d4-51a1-497b-a72f-f21d3a79a415" xlink:to="loc_srt_RangeMember_310489d4-51a1-497b-a72f-f21d3a79a415_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_7bbf472b-26be-43d3-9f95-1d3ff5cb13f8" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_310489d4-51a1-497b-a72f-f21d3a79a415" xlink:to="loc_srt_RangeMember_7bbf472b-26be-43d3-9f95-1d3ff5cb13f8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_bb6ecf9d-20aa-4eb6-8379-e0e0636fed01" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_7bbf472b-26be-43d3-9f95-1d3ff5cb13f8" xlink:to="loc_srt_MinimumMember_bb6ecf9d-20aa-4eb6-8379-e0e0636fed01" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_8f52be22-734b-491d-a77f-43d4692835b8" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_7bbf472b-26be-43d3-9f95-1d3ff5cb13f8" xlink:to="loc_srt_MaximumMember_8f52be22-734b-491d-a77f-43d4692835b8" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesNarrativeDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#LeasesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/LeasesNarrativeDetails" xlink:type="extended" id="ic5df5c6f4ffb4187900a68b39138b771_LeasesNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasedAssetsLineItems_f0f6f7c4-c555-4535-b5b1-5dbb2c33e6cf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasedAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LesseeOperatingLeaseInterestRateEffectiveRate_3c44e51c-9594-436a-84d8-2371838c66ca" xlink:href="efoi-20230331.xsd#efoi_LesseeOperatingLeaseInterestRateEffectiveRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLeasedAssetsLineItems_f0f6f7c4-c555-4535-b5b1-5dbb2c33e6cf" xlink:to="loc_efoi_LesseeOperatingLeaseInterestRateEffectiveRate_3c44e51c-9594-436a-84d8-2371838c66ca" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseDiscountRate_c1569c6a-d4aa-49c8-a984-dbc1cbd6b833" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseDiscountRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLeasedAssetsLineItems_f0f6f7c4-c555-4535-b5b1-5dbb2c33e6cf" xlink:to="loc_us-gaap_LesseeOperatingLeaseDiscountRate_c1569c6a-d4aa-49c8-a984-dbc1cbd6b833" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_9b266f10-9111-4c72-8515-e113fa205f47" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLeasedAssetsLineItems_f0f6f7c4-c555-4535-b5b1-5dbb2c33e6cf" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_9b266f10-9111-4c72-8515-e113fa205f47" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfOperatingLeasedAssetsTable_1da5d17a-a204-4e7d-b263-b2e9dd95255d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfOperatingLeasedAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_OperatingLeasedAssetsLineItems_f0f6f7c4-c555-4535-b5b1-5dbb2c33e6cf" xlink:to="loc_us-gaap_ScheduleOfOperatingLeasedAssetsTable_1da5d17a-a204-4e7d-b263-b2e9dd95255d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_23f37342-df85-4f92-9ca9-3220ecf6b2be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfOperatingLeasedAssetsTable_1da5d17a-a204-4e7d-b263-b2e9dd95255d" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_23f37342-df85-4f92-9ca9-3220ecf6b2be" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_23f37342-df85-4f92-9ca9-3220ecf6b2be_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_23f37342-df85-4f92-9ca9-3220ecf6b2be" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_23f37342-df85-4f92-9ca9-3220ecf6b2be_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_7ad8b580-b808-494e-8f32-aa03483c0ee5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_23f37342-df85-4f92-9ca9-3220ecf6b2be" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_7ad8b580-b808-494e-8f32-aa03483c0ee5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RealEstateMember_be269747-74b0-4baf-a5ec-633e506dc217" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RealEstateMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_7ad8b580-b808-494e-8f32-aa03483c0ee5" xlink:to="loc_us-gaap_RealEstateMember_be269747-74b0-4baf-a5ec-633e506dc217" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#DebtCreditFacilitiesDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails" xlink:type="extended" id="i50ec0a8a931445958b7b3fdc64b9c945_DebtCreditFacilitiesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentNumberOfCreditFacilities_db6a20ec-765d-48b6-ba9d-5244388fe811" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentNumberOfCreditFacilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_efoi_DebtInstrumentNumberOfCreditFacilities_db6a20ec-765d-48b6-ba9d-5244388fe811" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_89df3a02-0fb7-442f-bcfc-84114373e68e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_89df3a02-0fb7-442f-bcfc-84114373e68e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_19b021cd-1940-4e5c-9e2b-036f202ef00b" xlink:href="efoi-20230331.xsd#efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_19b021cd-1940-4e5c-9e2b-036f202ef00b" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_dd1254ec-be77-4adf-a15e-065153ecf80f" xlink:href="efoi-20230331.xsd#efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_dd1254ec-be77-4adf-a15e-065153ecf80f" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt_d863e253-c951-4a6e-bb60-261652397f39" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_us-gaap_RepaymentsOfLongTermDebt_d863e253-c951-4a6e-bb60-261652397f39" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RepaymentOfRemainingLongTermDebt_cdafebb1-70e6-46b9-9582-1958a232044f" xlink:href="efoi-20230331.xsd#efoi_RepaymentOfRemainingLongTermDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_efoi_RepaymentOfRemainingLongTermDebt_cdafebb1-70e6-46b9-9582-1958a232044f" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_fdb8c907-9bc8-434c-a4a2-cb11a1fbcc8e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_fdb8c907-9bc8-434c-a4a2-cb11a1fbcc8e" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateDuringPeriod_92f01ee8-703f-4836-842b-afe899d432a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_us-gaap_DebtInstrumentInterestRateDuringPeriod_92f01ee8-703f-4836-842b-afe899d432a8" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage_4788b23a-7ff0-451d-ab36-0530029cf647" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage_4788b23a-7ff0-451d-ab36-0530029cf647" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_9ae6995a-802b-4f7d-8d2d-fafea637b81d" xlink:href="efoi-20230331.xsd#efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_9ae6995a-802b-4f7d-8d2d-fafea637b81d" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LinesOfCreditCurrent_dd587f13-4889-4eb5-92e3-03e65e0da813" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LinesOfCreditCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_us-gaap_LinesOfCreditCurrent_dd587f13-4889-4eb5-92e3-03e65e0da813" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnamortizedDebtIssuanceExpense_41cee0ed-11b3-43ed-a6f8-9235448ab42f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnamortizedDebtIssuanceExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_us-gaap_UnamortizedDebtIssuanceExpense_41cee0ed-11b3-43ed-a6f8-9235448ab42f" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityTable_acd33e38-a2ce-4854-b92b-7feaa23ed0b7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_us-gaap_LineOfCreditFacilityTable_acd33e38-a2ce-4854-b92b-7feaa23ed0b7" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_12e61854-db62-4481-9d0c-dba78cbf9cfe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_acd33e38-a2ce-4854-b92b-7feaa23ed0b7" xlink:to="loc_us-gaap_CreditFacilityAxis_12e61854-db62-4481-9d0c-dba78cbf9cfe" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_12e61854-db62-4481-9d0c-dba78cbf9cfe_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_12e61854-db62-4481-9d0c-dba78cbf9cfe" xlink:to="loc_us-gaap_CreditFacilityDomain_12e61854-db62-4481-9d0c-dba78cbf9cfe_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_a848bc2d-e4e8-4075-8f30-f573a8184e0e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_12e61854-db62-4481-9d0c-dba78cbf9cfe" xlink:to="loc_us-gaap_CreditFacilityDomain_a848bc2d-e4e8-4075-8f30-f573a8184e0e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_05f7a9a7-e388-4c2c-b375-3c1fa303898a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_a848bc2d-e4e8-4075-8f30-f573a8184e0e" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_05f7a9a7-e388-4c2c-b375-3c1fa303898a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_50422771-5adb-461a-88e9-4e790dafae43" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_acd33e38-a2ce-4854-b92b-7feaa23ed0b7" xlink:to="loc_us-gaap_DebtInstrumentAxis_50422771-5adb-461a-88e9-4e790dafae43" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_50422771-5adb-461a-88e9-4e790dafae43_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_50422771-5adb-461a-88e9-4e790dafae43" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_50422771-5adb-461a-88e9-4e790dafae43_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_fce56d55-0954-4882-94ff-46671487aaba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_50422771-5adb-461a-88e9-4e790dafae43" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_fce56d55-0954-4882-94ff-46671487aaba" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryFacilityMember_34682812-93b5-4c25-8ab3-6531765d27da" xlink:href="efoi-20230331.xsd#efoi_InventoryFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_fce56d55-0954-4882-94ff-46671487aaba" xlink:to="loc_efoi_InventoryFacilityMember_34682812-93b5-4c25-8ab3-6531765d27da" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_SecondAmendmentToInventoryFacilityMember_f9c93387-87a1-4375-97ac-7f594c57a682" xlink:href="efoi-20230331.xsd#efoi_SecondAmendmentToInventoryFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_fce56d55-0954-4882-94ff-46671487aaba" xlink:to="loc_efoi_SecondAmendmentToInventoryFacilityMember_f9c93387-87a1-4375-97ac-7f594c57a682" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ReceivablesFacilityMember_3893b01b-f628-44a0-bb1f-84fcace26a11" xlink:href="efoi-20230331.xsd#efoi_ReceivablesFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_fce56d55-0954-4882-94ff-46671487aaba" xlink:to="loc_efoi_ReceivablesFacilityMember_3893b01b-f628-44a0-bb1f-84fcace26a11" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_8e67b446-2202-42a9-9ad7-2f38d31c76d5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_acd33e38-a2ce-4854-b92b-7feaa23ed0b7" xlink:to="loc_us-gaap_VariableRateAxis_8e67b446-2202-42a9-9ad7-2f38d31c76d5" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_8e67b446-2202-42a9-9ad7-2f38d31c76d5_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VariableRateAxis_8e67b446-2202-42a9-9ad7-2f38d31c76d5" xlink:to="loc_us-gaap_VariableRateDomain_8e67b446-2202-42a9-9ad7-2f38d31c76d5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_31d008f6-7c27-4ae3-936f-dfef4388a2bc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VariableRateAxis_8e67b446-2202-42a9-9ad7-2f38d31c76d5" xlink:to="loc_us-gaap_VariableRateDomain_31d008f6-7c27-4ae3-936f-dfef4388a2bc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_fbc86415-7aba-4bd2-ad07-27ada05cf47c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_31d008f6-7c27-4ae3-936f-dfef4388a2bc" xlink:to="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_fbc86415-7aba-4bd2-ad07-27ada05cf47c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_a1a705ef-268d-4c46-a438-3ea19a191aae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_31d008f6-7c27-4ae3-936f-dfef4388a2bc" xlink:to="loc_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_a1a705ef-268d-4c46-a438-3ea19a191aae" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtPromissoryNoteNarrativeDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#DebtPromissoryNoteNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/DebtPromissoryNoteNarrativeDetails" xlink:type="extended" id="i75204ecae3e9488bbb60a169fab56890_DebtPromissoryNoteNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_69727ccf-af6f-4198-a5ee-d455852179aa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DueToRelatedPartiesCurrentAndNoncurrent_1f8d59bc-0cef-45c4-a0e0-2731ba663838" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueToRelatedPartiesCurrentAndNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_69727ccf-af6f-4198-a5ee-d455852179aa" xlink:to="loc_us-gaap_DueToRelatedPartiesCurrentAndNoncurrent_1f8d59bc-0cef-45c4-a0e0-2731ba663838" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_66c75bf6-b3b1-4c40-95f8-da0aaa108b2c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_69727ccf-af6f-4198-a5ee-d455852179aa" xlink:to="loc_us-gaap_DebtInstrumentTable_66c75bf6-b3b1-4c40-95f8-da0aaa108b2c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionAxis_48063ff7-f14b-482b-a324-beeae5bfea9a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_66c75bf6-b3b1-4c40-95f8-da0aaa108b2c" xlink:to="loc_us-gaap_RelatedPartyTransactionAxis_48063ff7-f14b-482b-a324-beeae5bfea9a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionDomain_48063ff7-f14b-482b-a324-beeae5bfea9a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RelatedPartyTransactionAxis_48063ff7-f14b-482b-a324-beeae5bfea9a" xlink:to="loc_us-gaap_RelatedPartyTransactionDomain_48063ff7-f14b-482b-a324-beeae5bfea9a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionDomain_7339d4d7-ed15-4fe6-8e44-d1dce2209ecc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RelatedPartyTransactionAxis_48063ff7-f14b-482b-a324-beeae5bfea9a" xlink:to="loc_us-gaap_RelatedPartyTransactionDomain_7339d4d7-ed15-4fe6-8e44-d1dce2209ecc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A2022PromissoryNoteMember_43686aa1-a831-4dea-87b1-160428ad18cd" xlink:href="efoi-20230331.xsd#efoi_A2022PromissoryNoteMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyTransactionDomain_7339d4d7-ed15-4fe6-8e44-d1dce2209ecc" xlink:to="loc_efoi_A2022PromissoryNoteMember_43686aa1-a831-4dea-87b1-160428ad18cd" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_5be77343-7df9-478c-b324-5a067c57637e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_66c75bf6-b3b1-4c40-95f8-da0aaa108b2c" xlink:to="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_5be77343-7df9-478c-b324-5a067c57637e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyDomain_5be77343-7df9-478c-b324-5a067c57637e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_5be77343-7df9-478c-b324-5a067c57637e" xlink:to="loc_us-gaap_RelatedPartyDomain_5be77343-7df9-478c-b324-5a067c57637e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyDomain_b24fe39e-9fd4-4816-9469-79cf77eaad2b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_5be77343-7df9-478c-b324-5a067c57637e" xlink:to="loc_us-gaap_RelatedPartyDomain_b24fe39e-9fd4-4816-9469-79cf77eaad2b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_DirectorMember_505fba2b-b8d7-476d-920a-b01bdf98ef28" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_DirectorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyDomain_b24fe39e-9fd4-4816-9469-79cf77eaad2b" xlink:to="loc_srt_DirectorMember_505fba2b-b8d7-476d-920a-b01bdf98ef28" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#DebtPromissoryNotesDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails" xlink:type="extended" id="i2dc7011d597d4c20a466138a9817c2ac_DebtPromissoryNotesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_4ce91f67-379a-4691-9194-de67a922debc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTerm_ba9d0532-d9fb-4bb2-8774-19050703af20" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_4ce91f67-379a-4691-9194-de67a922debc" xlink:to="loc_us-gaap_DebtInstrumentTerm_ba9d0532-d9fb-4bb2-8774-19050703af20" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_b32dd088-d2c4-4de1-b0d4-79c59de39c7a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_4ce91f67-379a-4691-9194-de67a922debc" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_b32dd088-d2c4-4de1-b0d4-79c59de39c7a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_29ad9f8f-4fc5-410f-a7b0-244313dec13f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_4ce91f67-379a-4691-9194-de67a922debc" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_29ad9f8f-4fc5-410f-a7b0-244313dec13f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateDuringPeriod_61bf86de-42c5-40eb-bf16-e27028681dbc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_4ce91f67-379a-4691-9194-de67a922debc" xlink:to="loc_us-gaap_DebtInstrumentInterestRateDuringPeriod_61bf86de-42c5-40eb-bf16-e27028681dbc" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionAmountsOfTransaction_dedd5534-2c20-489c-9f80-a033381b279c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionAmountsOfTransaction"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_4ce91f67-379a-4691-9194-de67a922debc" xlink:to="loc_us-gaap_RelatedPartyTransactionAmountsOfTransaction_dedd5534-2c20-489c-9f80-a033381b279c" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_b348a566-0b23-4723-a9b2-7a68a0ce4c1b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_4ce91f67-379a-4691-9194-de67a922debc" xlink:to="loc_us-gaap_DebtInstrumentTable_b348a566-0b23-4723-a9b2-7a68a0ce4c1b" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_6b4313d7-a4e4-44b9-a3d6-f9cd4500c285" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_b348a566-0b23-4723-a9b2-7a68a0ce4c1b" xlink:to="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_6b4313d7-a4e4-44b9-a3d6-f9cd4500c285" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyDomain_6b4313d7-a4e4-44b9-a3d6-f9cd4500c285_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_6b4313d7-a4e4-44b9-a3d6-f9cd4500c285" xlink:to="loc_us-gaap_RelatedPartyDomain_6b4313d7-a4e4-44b9-a3d6-f9cd4500c285_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyDomain_177c9b62-0596-4dc8-8085-dcac7bb5aa31" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_6b4313d7-a4e4-44b9-a3d6-f9cd4500c285" xlink:to="loc_us-gaap_RelatedPartyDomain_177c9b62-0596-4dc8-8085-dcac7bb5aa31" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GHuangDirectorMember_937dd5ed-4e52-41f9-be93-4ca8c3386f66" xlink:href="efoi-20230331.xsd#efoi_GHuangDirectorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyDomain_177c9b62-0596-4dc8-8085-dcac7bb5aa31" xlink:to="loc_efoi_GHuangDirectorMember_937dd5ed-4e52-41f9-be93-4ca8c3386f66" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_JHuangDirectorMember_3d299ae5-8d34-44b6-9b79-a08744cca6cc" xlink:href="efoi-20230331.xsd#efoi_JHuangDirectorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyDomain_177c9b62-0596-4dc8-8085-dcac7bb5aa31" xlink:to="loc_efoi_JHuangDirectorMember_3d299ae5-8d34-44b6-9b79-a08744cca6cc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TLinDirectorsMember_b05eb13a-d39d-459d-af9e-998641b867be" xlink:href="efoi-20230331.xsd#efoi_TLinDirectorsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyDomain_177c9b62-0596-4dc8-8085-dcac7bb5aa31" xlink:to="loc_efoi_TLinDirectorsMember_b05eb13a-d39d-459d-af9e-998641b867be" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionAxis_403399f6-5e5a-40c5-80b6-ba1d4b31d361" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_b348a566-0b23-4723-a9b2-7a68a0ce4c1b" xlink:to="loc_us-gaap_RelatedPartyTransactionAxis_403399f6-5e5a-40c5-80b6-ba1d4b31d361" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionDomain_403399f6-5e5a-40c5-80b6-ba1d4b31d361_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RelatedPartyTransactionAxis_403399f6-5e5a-40c5-80b6-ba1d4b31d361" xlink:to="loc_us-gaap_RelatedPartyTransactionDomain_403399f6-5e5a-40c5-80b6-ba1d4b31d361_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionDomain_4f1be0dd-4aac-45a8-8d50-2380d65d5ad6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RelatedPartyTransactionAxis_403399f6-5e5a-40c5-80b6-ba1d4b31d361" xlink:to="loc_us-gaap_RelatedPartyTransactionDomain_4f1be0dd-4aac-45a8-8d50-2380d65d5ad6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TwentyTwentyTwoPromissoryNoteMember_e78b70c1-3a5b-4948-81fd-3c553a566107" xlink:href="efoi-20230331.xsd#efoi_TwentyTwentyTwoPromissoryNoteMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyTransactionDomain_4f1be0dd-4aac-45a8-8d50-2380d65d5ad6" xlink:to="loc_efoi_TwentyTwentyTwoPromissoryNoteMember_e78b70c1-3a5b-4948-81fd-3c553a566107" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentEnteredPeriodAxis_2c743448-4f55-411d-b289-44f1c3480e30" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentEnteredPeriodAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_b348a566-0b23-4723-a9b2-7a68a0ce4c1b" xlink:to="loc_efoi_DebtInstrumentEnteredPeriodAxis_2c743448-4f55-411d-b289-44f1c3480e30" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentEnteredPeriodDomain_2c743448-4f55-411d-b289-44f1c3480e30_default" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentEnteredPeriodDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodAxis_2c743448-4f55-411d-b289-44f1c3480e30" xlink:to="loc_efoi_DebtInstrumentEnteredPeriodDomain_2c743448-4f55-411d-b289-44f1c3480e30_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentEnteredPeriodDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodAxis_2c743448-4f55-411d-b289-44f1c3480e30" xlink:to="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredOneMember_06d6112e-fa0e-45a8-aa57-d931b46e3164" xlink:href="efoi-20230331.xsd#efoi_DateEnteredOneMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:to="loc_efoi_DateEnteredOneMember_06d6112e-fa0e-45a8-aa57-d931b46e3164" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredTwoMember_5b47c1c3-ab7f-4fc9-9653-24cec095f6c9" xlink:href="efoi-20230331.xsd#efoi_DateEnteredTwoMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:to="loc_efoi_DateEnteredTwoMember_5b47c1c3-ab7f-4fc9-9653-24cec095f6c9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredThreeMember_1180f379-2463-4933-a5c8-ddb934226cad" xlink:href="efoi-20230331.xsd#efoi_DateEnteredThreeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:to="loc_efoi_DateEnteredThreeMember_1180f379-2463-4933-a5c8-ddb934226cad" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredFourMember_90282f51-e445-4126-9f26-c92da81edde1" xlink:href="efoi-20230331.xsd#efoi_DateEnteredFourMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:to="loc_efoi_DateEnteredFourMember_90282f51-e445-4126-9f26-c92da81edde1" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredFiveMember_7d8e9fba-4f86-4efb-a16e-cd476a3d2347" xlink:href="efoi-20230331.xsd#efoi_DateEnteredFiveMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:to="loc_efoi_DateEnteredFiveMember_7d8e9fba-4f86-4efb-a16e-cd476a3d2347" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredSixMember_9ae9e352-5196-4136-bd46-f8cd2ac24de3" xlink:href="efoi-20230331.xsd#efoi_DateEnteredSixMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:to="loc_efoi_DateEnteredSixMember_9ae9e352-5196-4136-bd46-f8cd2ac24de3" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredSevenMember_b4a031aa-da40-456f-8b38-c7531a53952c" xlink:href="efoi-20230331.xsd#efoi_DateEnteredSevenMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:to="loc_efoi_DateEnteredSevenMember_b4a031aa-da40-456f-8b38-c7531a53952c" xlink:type="arc" order="6"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#DebtStreetervilleNotesDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails" xlink:type="extended" id="iba48805c4364456caeab60de2b769317_DebtStreetervilleNotesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_ab02da0b-399e-4cb4-bfd0-8f3236497d3a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_ab02da0b-399e-4cb4-bfd0-8f3236497d3a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscount_356292e1-c309-4627-a697-e344420e4f56" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentUnamortizedDiscount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedDiscount_356292e1-c309-4627-a697-e344420e4f56" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfDebt_e0bd4736-753f-4d64-a3fe-a750c7b86cf3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfDebt_e0bd4736-753f-4d64-a3fe-a750c7b86cf3" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsGross_b3cdbaf0-0d77-4958-820b-6529f2fccf0f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_DeferredFinanceCostsGross_b3cdbaf0-0d77-4958-820b-6529f2fccf0f" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_d2cfd767-d22c-49b9-8bb4-5dc7ab73ad42" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_d2cfd767-d22c-49b9-8bb4-5dc7ab73ad42" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentTrancheAmount_92ac7e05-ab45-42ee-bf3f-08679acec81d" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentTrancheAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_efoi_DebtInstrumentTrancheAmount_92ac7e05-ab45-42ee-bf3f-08679acec81d" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_92f35209-7282-4efa-ab57-9ab10ee887ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_92f35209-7282-4efa-ab57-9ab10ee887ce" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_0f42ef96-1fec-40d3-8a08-7f643a248d65" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_0f42ef96-1fec-40d3-8a08-7f643a248d65" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange_25099c01-a73d-4062-aa92-d15514471d66" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange_25099c01-a73d-4062-aa92-d15514471d66" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount_96379ecc-b16b-4a15-b02e-5dcb532eacb1" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount_96379ecc-b16b-4a15-b02e-5dcb532eacb1" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals_e09b4a14-936f-46de-a77f-5fac0c20fe15" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals_e09b4a14-936f-46de-a77f-5fac0c20fe15" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption_1ab4c7dc-dbdf-43d1-b7f7-3f9e386737dc" xlink:href="efoi-20230331.xsd#efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption_1ab4c7dc-dbdf-43d1-b7f7-3f9e386737dc" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost_870bd77b-cfd3-4ae2-b1a7-8e6f399d83d8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WriteOffOfDeferredDebtIssuanceCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost_870bd77b-cfd3-4ae2-b1a7-8e6f399d83d8" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_b1857123-6a93-4d6f-9695-3cdb02dbe527" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_DebtInstrumentTable_b1857123-6a93-4d6f-9695-3cdb02dbe527" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_1814eb27-8682-44ec-90a4-435f605a3018" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_b1857123-6a93-4d6f-9695-3cdb02dbe527" xlink:to="loc_us-gaap_DebtInstrumentAxis_1814eb27-8682-44ec-90a4-435f605a3018" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_1814eb27-8682-44ec-90a4-435f605a3018_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_1814eb27-8682-44ec-90a4-435f605a3018" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_1814eb27-8682-44ec-90a4-435f605a3018_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_d5ba648a-a837-4197-9d77-a75748527a06" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_1814eb27-8682-44ec-90a4-435f605a3018" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_d5ba648a-a837-4197-9d77-a75748527a06" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A2022StreetervilleNoteMember_f22e33e6-97a7-4ca8-b49e-f9e350bc7169" xlink:href="efoi-20230331.xsd#efoi_A2022StreetervilleNoteMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_d5ba648a-a837-4197-9d77-a75748527a06" xlink:to="loc_efoi_A2022StreetervilleNoteMember_f22e33e6-97a7-4ca8-b49e-f9e350bc7169" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_March2023PartitionedNoteMember_6ab0d0c1-6304-4f88-8fa3-da55d345d47c" xlink:href="efoi-20230331.xsd#efoi_March2023PartitionedNoteMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_d5ba648a-a837-4197-9d77-a75748527a06" xlink:to="loc_efoi_March2023PartitionedNoteMember_6ab0d0c1-6304-4f88-8fa3-da55d345d47c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_StreetervilleNotePurchaseAgreementMember_559fc80e-4260-45b9-8bad-6892c01f1e42" xlink:href="efoi-20230331.xsd#efoi_StreetervilleNotePurchaseAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_d5ba648a-a837-4197-9d77-a75748527a06" xlink:to="loc_efoi_StreetervilleNotePurchaseAgreementMember_559fc80e-4260-45b9-8bad-6892c01f1e42" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A2021StreetervilleNoteMember_643cffaf-1416-444f-871c-3207380ddc37" xlink:href="efoi-20230331.xsd#efoi_A2021StreetervilleNoteMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_d5ba648a-a837-4197-9d77-a75748527a06" xlink:to="loc_efoi_A2021StreetervilleNoteMember_643cffaf-1416-444f-871c-3207380ddc37" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementScenarioAxis_c0a1f155-069b-4c05-8b07-0c7883c53489" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_b1857123-6a93-4d6f-9695-3cdb02dbe527" xlink:to="loc_srt_StatementScenarioAxis_c0a1f155-069b-4c05-8b07-0c7883c53489" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioUnspecifiedDomain_c0a1f155-069b-4c05-8b07-0c7883c53489_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementScenarioAxis_c0a1f155-069b-4c05-8b07-0c7883c53489" xlink:to="loc_srt_ScenarioUnspecifiedDomain_c0a1f155-069b-4c05-8b07-0c7883c53489_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioUnspecifiedDomain_a58cbe46-fc23-489c-8fca-5ef6e5d9b659" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementScenarioAxis_c0a1f155-069b-4c05-8b07-0c7883c53489" xlink:to="loc_srt_ScenarioUnspecifiedDomain_a58cbe46-fc23-489c-8fca-5ef6e5d9b659" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioForecastMember_fa53477c-8ad4-4960-b7f6-b43894eb5d28" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ScenarioUnspecifiedDomain_a58cbe46-fc23-489c-8fca-5ef6e5d9b659" xlink:to="loc_srt_ScenarioForecastMember_fa53477c-8ad4-4960-b7f6-b43894eb5d28" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/IncomeTaxesDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#IncomeTaxesDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/IncomeTaxesDetails" xlink:type="extended" id="ibdf8add38d7b4cb097ea9b0404c9699b_IncomeTaxesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsLineItems_e5562cec-db80-4eb2-9c4d-26da30d9f009" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwardsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_475e283c-a318-41c6-baaf-ec9da7ceefc7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e5562cec-db80-4eb2-9c4d-26da30d9f009" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_475e283c-a318-41c6-baaf-ec9da7ceefc7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_0e3023b5-e6fa-4581-86e9-2042a268ba9f" xlink:href="efoi-20230331.xsd#efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e5562cec-db80-4eb2-9c4d-26da30d9f009" xlink:to="loc_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_0e3023b5-e6fa-4581-86e9-2042a268ba9f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards_ca2d20d4-0a76-43d0-9e1e-4f2c38016bd9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e5562cec-db80-4eb2-9c4d-26da30d9f009" xlink:to="loc_us-gaap_OperatingLossCarryforwards_ca2d20d4-0a76-43d0-9e1e-4f2c38016bd9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_dbf3206c-9397-4307-822f-4c8bd6640c35" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e5562cec-db80-4eb2-9c4d-26da30d9f009" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_dbf3206c-9397-4307-822f-4c8bd6640c35" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsTable_a0f3b0ba-9c77-4216-86ef-bbd463a52fdc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwardsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e5562cec-db80-4eb2-9c4d-26da30d9f009" xlink:to="loc_us-gaap_OperatingLossCarryforwardsTable_a0f3b0ba-9c77-4216-86ef-bbd463a52fdc" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_266be0af-54ae-425b-b0ca-db7968f3dd19" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_a0f3b0ba-9c77-4216-86ef-bbd463a52fdc" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_266be0af-54ae-425b-b0ca-db7968f3dd19" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_266be0af-54ae-425b-b0ca-db7968f3dd19_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_266be0af-54ae-425b-b0ca-db7968f3dd19" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_266be0af-54ae-425b-b0ca-db7968f3dd19_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_37cd3588-df69-4b10-99ba-4d4a1737008d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_266be0af-54ae-425b-b0ca-db7968f3dd19" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_37cd3588-df69-4b10-99ba-4d4a1737008d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember_853b7b51-649e-4ffc-8be1-fbb10919564f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticCountryMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_37cd3588-df69-4b10-99ba-4d4a1737008d" xlink:to="loc_us-gaap_DomesticCountryMember_853b7b51-649e-4ffc-8be1-fbb10919564f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember_48cad767-04b1-4bfc-88f7-8d60fb4cb3ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_37cd3588-df69-4b10-99ba-4d4a1737008d" xlink:to="loc_us-gaap_StateAndLocalJurisdictionMember_48cad767-04b1-4bfc-88f7-8d60fb4cb3ce" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityMarch2023PrivatePlacementsDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityMarch2023PrivatePlacementsDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityMarch2023PrivatePlacementsDetails" xlink:type="extended" id="id41b6e9f956a49758e1414a59e97e6b9_StockholdersEquityMarch2023PrivatePlacementsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bb680e2-1c15-4cd3-84c0-3c88f9024b3b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_afcaa360-cec5-4b37-80ba-976991c97ab0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bb680e2-1c15-4cd3-84c0-3c88f9024b3b" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_afcaa360-cec5-4b37-80ba-976991c97ab0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_f67bdf33-ee2b-4650-9bb4-9cb69e9fd420" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bb680e2-1c15-4cd3-84c0-3c88f9024b3b" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_f67bdf33-ee2b-4650-9bb4-9cb69e9fd420" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_0e47a27a-4b33-44c6-be73-c929f1110ed1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfPrivatePlacement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bb680e2-1c15-4cd3-84c0-3c88f9024b3b" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_0e47a27a-4b33-44c6-be73-c929f1110ed1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b3fcf0c9-5ba5-4e3d-91e2-8305f5f58ec3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bb680e2-1c15-4cd3-84c0-3c88f9024b3b" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b3fcf0c9-5ba5-4e3d-91e2-8305f5f58ec3" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_9f0f3a46-d298-47f1-83ef-72015749ac9c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b3fcf0c9-5ba5-4e3d-91e2-8305f5f58ec3" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_9f0f3a46-d298-47f1-83ef-72015749ac9c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_9f0f3a46-d298-47f1-83ef-72015749ac9c_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_9f0f3a46-d298-47f1-83ef-72015749ac9c" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_9f0f3a46-d298-47f1-83ef-72015749ac9c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_c1e5da76-b454-4e9b-82ac-700cdf69f253" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_9f0f3a46-d298-47f1-83ef-72015749ac9c" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_c1e5da76-b454-4e9b-82ac-700cdf69f253" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_March2023PrivatePlacementMember_5fc27791-2dc5-4491-8b64-30cbe74563db" xlink:href="efoi-20230331.xsd#efoi_March2023PrivatePlacementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_c1e5da76-b454-4e9b-82ac-700cdf69f253" xlink:to="loc_efoi_March2023PrivatePlacementMember_5fc27791-2dc5-4491-8b64-30cbe74563db" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityFebruary2023PrivatePlacementDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityFebruary2023PrivatePlacementDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityFebruary2023PrivatePlacementDetails" xlink:type="extended" id="i03d73297baa7433487fa1c91046053a2_StockholdersEquityFebruary2023PrivatePlacementDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9e605865-46c0-439d-9345-b8b631eb8133" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_afe8e444-087b-46d6-99fa-6128b1aa0d4c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9e605865-46c0-439d-9345-b8b631eb8133" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_afe8e444-087b-46d6-99fa-6128b1aa0d4c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_b9cb377e-3fa5-45d7-b25b-ee1f178bdc46" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9e605865-46c0-439d-9345-b8b631eb8133" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_b9cb377e-3fa5-45d7-b25b-ee1f178bdc46" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_6e835ebc-5766-4983-84fb-44488f16a20a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfPrivatePlacement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9e605865-46c0-439d-9345-b8b631eb8133" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_6e835ebc-5766-4983-84fb-44488f16a20a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8533a250-60e9-4179-b9d3-4d680c7c9cf0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9e605865-46c0-439d-9345-b8b631eb8133" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8533a250-60e9-4179-b9d3-4d680c7c9cf0" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_9a6d8fb5-ec16-4049-b813-6d004e10794e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8533a250-60e9-4179-b9d3-4d680c7c9cf0" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_9a6d8fb5-ec16-4049-b813-6d004e10794e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_9a6d8fb5-ec16-4049-b813-6d004e10794e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_9a6d8fb5-ec16-4049-b813-6d004e10794e" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_9a6d8fb5-ec16-4049-b813-6d004e10794e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_58c18ee4-3635-416b-9017-7d9d8e9287ec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_9a6d8fb5-ec16-4049-b813-6d004e10794e" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_58c18ee4-3635-416b-9017-7d9d8e9287ec" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_February2023PrivatePlacementMember_43798db1-7ae8-418f-a67e-e233c8ae936f" xlink:href="efoi-20230331.xsd#efoi_February2023PrivatePlacementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_58c18ee4-3635-416b-9017-7d9d8e9287ec" xlink:to="loc_efoi_February2023PrivatePlacementMember_43798db1-7ae8-418f-a67e-e233c8ae936f" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails" xlink:type="extended" id="if8ef666effe34b04918242d64acbd46c_StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_355665dc-08b6-4b58-b28d-6c220b9281d6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_7f557832-2232-45d8-98ff-8a4f73a9ea1c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_355665dc-08b6-4b58-b28d-6c220b9281d6" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_7f557832-2232-45d8-98ff-8a4f73a9ea1c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_13605eb3-2f36-4c10-bc20-c275b75f4608" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_355665dc-08b6-4b58-b28d-6c220b9281d6" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_13605eb3-2f36-4c10-bc20-c275b75f4608" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermBorrowings_c2541826-2abd-41c4-b6ce-2a1991b2d5fa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_355665dc-08b6-4b58-b28d-6c220b9281d6" xlink:to="loc_us-gaap_ShortTermBorrowings_c2541826-2abd-41c4-b6ce-2a1991b2d5fa" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_1629ac79-ac9b-44ee-abc8-ba9b65d693e0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfPrivatePlacement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_355665dc-08b6-4b58-b28d-6c220b9281d6" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_1629ac79-ac9b-44ee-abc8-ba9b65d693e0" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_58a5bf52-6353-4a7a-b062-01299022ecd2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_355665dc-08b6-4b58-b28d-6c220b9281d6" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_58a5bf52-6353-4a7a-b062-01299022ecd2" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_a4fa6890-c1d1-42a7-88b3-c938603b34be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_58a5bf52-6353-4a7a-b062-01299022ecd2" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_a4fa6890-c1d1-42a7-88b3-c938603b34be" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_a4fa6890-c1d1-42a7-88b3-c938603b34be_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_a4fa6890-c1d1-42a7-88b3-c938603b34be" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_a4fa6890-c1d1-42a7-88b3-c938603b34be_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_99ee8ae3-b5b7-45fa-a94c-8d2dc016578a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_a4fa6890-c1d1-42a7-88b3-c938603b34be" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_99ee8ae3-b5b7-45fa-a94c-8d2dc016578a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2023SanderElectronicsPrivatePlacementMember_d424a335-5ea9-4aee-bf2e-f2de2925378d" xlink:href="efoi-20230331.xsd#efoi_January2023SanderElectronicsPrivatePlacementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_99ee8ae3-b5b7-45fa-a94c-8d2dc016578a" xlink:to="loc_efoi_January2023SanderElectronicsPrivatePlacementMember_d424a335-5ea9-4aee-bf2e-f2de2925378d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermDebtTypeAxis_22b86081-f36d-4f7e-ad06-77f0cef9c3ea" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_58a5bf52-6353-4a7a-b062-01299022ecd2" xlink:to="loc_us-gaap_ShortTermDebtTypeAxis_22b86081-f36d-4f7e-ad06-77f0cef9c3ea" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermDebtTypeDomain_22b86081-f36d-4f7e-ad06-77f0cef9c3ea_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ShortTermDebtTypeAxis_22b86081-f36d-4f7e-ad06-77f0cef9c3ea" xlink:to="loc_us-gaap_ShortTermDebtTypeDomain_22b86081-f36d-4f7e-ad06-77f0cef9c3ea_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermDebtTypeDomain_323fb8c2-3367-4276-a277-48badc0e5015" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ShortTermDebtTypeAxis_22b86081-f36d-4f7e-ad06-77f0cef9c3ea" xlink:to="loc_us-gaap_ShortTermDebtTypeDomain_323fb8c2-3367-4276-a277-48badc0e5015" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BridgeLoanMember_39c3746d-b3bc-40cc-9e28-e4d996f34b2a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BridgeLoanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShortTermDebtTypeDomain_323fb8c2-3367-4276-a277-48badc0e5015" xlink:to="loc_us-gaap_BridgeLoanMember_39c3746d-b3bc-40cc-9e28-e4d996f34b2a" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails" xlink:type="extended" id="ie0297382e70947a3b617103d7d507db8_StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f5078c41-5a5f-4d7f-8ead-dc2fb6de19a7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_164d2f8b-c98b-4b6b-ba98-f8d618307039" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f5078c41-5a5f-4d7f-8ead-dc2fb6de19a7" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_164d2f8b-c98b-4b6b-ba98-f8d618307039" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_c7706a80-0cf9-41a7-b8ed-a660746c94cd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f5078c41-5a5f-4d7f-8ead-dc2fb6de19a7" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_c7706a80-0cf9-41a7-b8ed-a660746c94cd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_1f0efa06-eae1-41b1-8e64-8e7aab3f0090" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfPrivatePlacement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f5078c41-5a5f-4d7f-8ead-dc2fb6de19a7" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_1f0efa06-eae1-41b1-8e64-8e7aab3f0090" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1848bf4a-aa3a-4985-bf5b-9e51bdaa4963" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f5078c41-5a5f-4d7f-8ead-dc2fb6de19a7" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1848bf4a-aa3a-4985-bf5b-9e51bdaa4963" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_6ea3a80d-a7b4-44fe-9617-c136f8fe078a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1848bf4a-aa3a-4985-bf5b-9e51bdaa4963" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_6ea3a80d-a7b4-44fe-9617-c136f8fe078a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_6ea3a80d-a7b4-44fe-9617-c136f8fe078a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_6ea3a80d-a7b4-44fe-9617-c136f8fe078a" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_6ea3a80d-a7b4-44fe-9617-c136f8fe078a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_44614536-35f7-4718-ae9d-20248eba882a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_6ea3a80d-a7b4-44fe-9617-c136f8fe078a" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_44614536-35f7-4718-ae9d-20248eba882a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2023TransactionsWithMeiYunGinaHuangMember_eea11947-6347-435b-b874-222f9e2f5b02" xlink:href="efoi-20230331.xsd#efoi_January2023TransactionsWithMeiYunGinaHuangMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_44614536-35f7-4718-ae9d-20248eba882a" xlink:to="loc_efoi_January2023TransactionsWithMeiYunGinaHuangMember_eea11947-6347-435b-b874-222f9e2f5b02" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityJune2022PrivatePlacementDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails" xlink:type="extended" id="i2d57e5a39ddf45a097fcba38cb9fd1f0_StockholdersEquityJune2022PrivatePlacementDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_68d960eb-003d-41b6-8c6a-5f15f7bddb37" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_68d960eb-003d-41b6-8c6a-5f15f7bddb37" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_af336c6a-8697-4161-85f4-6a56380ebb4c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_af336c6a-8697-4161-85f4-6a56380ebb4c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_6ee8d44e-35ae-4895-aaf7-9f6aed05370a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_6ee8d44e-35ae-4895-aaf7-9f6aed05370a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_e2e9060f-1f28-49e2-be17-ed3a80bf5d51" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_e2e9060f-1f28-49e2-be17-ed3a80bf5d51" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForPlacementAgentCommissions_6c1fbc65-2410-4d3b-b712-a0e54eefddbf" xlink:href="efoi-20230331.xsd#efoi_PaymentsForPlacementAgentCommissions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_efoi_PaymentsForPlacementAgentCommissions_6c1fbc65-2410-4d3b-b712-a0e54eefddbf" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_33bb6976-0d63-450e-bb5d-40da31dc2a1b" xlink:href="efoi-20230331.xsd#efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_33bb6976-0d63-450e-bb5d-40da31dc2a1b" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForClearingFees_83696813-692d-48e9-ab9d-85b7684c9036" xlink:href="efoi-20230331.xsd#efoi_PaymentsForClearingFees"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_efoi_PaymentsForClearingFees_83696813-692d-48e9-ab9d-85b7684c9036" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts_e60ec1c2-fd58-4785-8bd1-5abdf5c40e3f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_us-gaap_PaymentsOfStockIssuanceCosts_e60ec1c2-fd58-4785-8bd1-5abdf5c40e3f" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_4d53f50c-2b9d-4878-83fe-94a18940af4d" xlink:href="efoi-20230331.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_4d53f50c-2b9d-4878-83fe-94a18940af4d" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_39033ee3-16c4-4b22-afea-619cb289becd" xlink:href="efoi-20230331.xsd#efoi_EstimatedProceedsFromIssuanceOfWarrants"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_39033ee3-16c4-4b22-afea-619cb289becd" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_dcb30bb2-4ec6-4948-bf4f-be2a9d9a7a7d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_dcb30bb2-4ec6-4948-bf4f-be2a9d9a7a7d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_b3e74d1c-7400-49bd-8a4c-d36ffd5df453" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_dcb30bb2-4ec6-4948-bf4f-be2a9d9a7a7d" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_b3e74d1c-7400-49bd-8a4c-d36ffd5df453" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_b3e74d1c-7400-49bd-8a4c-d36ffd5df453_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_b3e74d1c-7400-49bd-8a4c-d36ffd5df453" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_b3e74d1c-7400-49bd-8a4c-d36ffd5df453_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_80e0e2e1-6f8f-4e91-bdd9-13f9fb70011d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_b3e74d1c-7400-49bd-8a4c-d36ffd5df453" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_80e0e2e1-6f8f-4e91-bdd9-13f9fb70011d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_June2022PrivatePlacementMember_20f6c023-e429-46cb-ac1c-94dcf3c5f741" xlink:href="efoi-20230331.xsd#efoi_June2022PrivatePlacementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_80e0e2e1-6f8f-4e91-bdd9-13f9fb70011d" xlink:to="loc_efoi_June2022PrivatePlacementMember_20f6c023-e429-46cb-ac1c-94dcf3c5f741" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightAxis_7ff2a00b-d430-432a-a8d9-3c64664aea08" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_dcb30bb2-4ec6-4948-bf4f-be2a9d9a7a7d" xlink:to="loc_us-gaap_ClassOfWarrantOrRightAxis_7ff2a00b-d430-432a-a8d9-3c64664aea08" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_7ff2a00b-d430-432a-a8d9-3c64664aea08_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_7ff2a00b-d430-432a-a8d9-3c64664aea08" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_7ff2a00b-d430-432a-a8d9-3c64664aea08_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_a6646b99-db7b-43b5-bf34-5fd52f3358f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_7ff2a00b-d430-432a-a8d9-3c64664aea08" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_a6646b99-db7b-43b5-bf34-5fd52f3358f4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PreFundedWarrantsMember_74b559de-404f-45a9-b281-12538bbc0edb" xlink:href="efoi-20230331.xsd#efoi_PreFundedWarrantsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_a6646b99-db7b-43b5-bf34-5fd52f3358f4" xlink:to="loc_efoi_PreFundedWarrantsMember_74b559de-404f-45a9-b281-12538bbc0edb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember_9378676f-e89d-4428-94fe-4b4a9434cb12" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WarrantMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_a6646b99-db7b-43b5-bf34-5fd52f3358f4" xlink:to="loc_us-gaap_WarrantMember_9378676f-e89d-4428-94fe-4b4a9434cb12" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityDecember2021PrivatePlacementDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails" xlink:type="extended" id="i9bbcc28793944961887c9dd0f413c92c_StockholdersEquityDecember2021PrivatePlacementDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_34892669-354b-4b71-bf04-6ca5dbba158c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_34892669-354b-4b71-bf04-6ca5dbba158c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_b370f505-5c53-4614-af32-703dca439846" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_b370f505-5c53-4614-af32-703dca439846" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_9223cbbf-e48f-45c1-bd51-005827925783" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_9223cbbf-e48f-45c1-bd51-005827925783" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_cfabfe53-e0e9-49d7-9adb-5b9a410b95bc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_cfabfe53-e0e9-49d7-9adb-5b9a410b95bc" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForPlacementAgentCommissions_08c55442-68c1-4fb7-9d78-66e6d8ca34c8" xlink:href="efoi-20230331.xsd#efoi_PaymentsForPlacementAgentCommissions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_efoi_PaymentsForPlacementAgentCommissions_08c55442-68c1-4fb7-9d78-66e6d8ca34c8" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_f2a6f024-6e3b-4a3b-88f7-1f21d674d64e" xlink:href="efoi-20230331.xsd#efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_f2a6f024-6e3b-4a3b-88f7-1f21d674d64e" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForClearingFees_f7b93b50-19a4-489e-b710-c0d250fc7fec" xlink:href="efoi-20230331.xsd#efoi_PaymentsForClearingFees"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_efoi_PaymentsForClearingFees_f7b93b50-19a4-489e-b710-c0d250fc7fec" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts_537ed9d2-187e-4035-a4e0-6e59e599d600" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_us-gaap_PaymentsOfStockIssuanceCosts_537ed9d2-187e-4035-a4e0-6e59e599d600" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_225bd55b-10a5-439a-8e9a-4aa7062c544d" xlink:href="efoi-20230331.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_225bd55b-10a5-439a-8e9a-4aa7062c544d" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_57746fb4-4983-4e54-8325-9c99bd654aee" xlink:href="efoi-20230331.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_57746fb4-4983-4e54-8325-9c99bd654aee" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_b8e2fe12-dee6-4c4a-b20b-769f97caf8fb" xlink:href="efoi-20230331.xsd#efoi_EstimatedProceedsFromIssuanceOfWarrants"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_b8e2fe12-dee6-4c4a-b20b-769f97caf8fb" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f6447931-ca37-49fa-a531-579a0ca3f06c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f6447931-ca37-49fa-a531-579a0ca3f06c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_ea6d26d7-e155-4d56-a7fc-4f47be0ed535" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f6447931-ca37-49fa-a531-579a0ca3f06c" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_ea6d26d7-e155-4d56-a7fc-4f47be0ed535" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_ea6d26d7-e155-4d56-a7fc-4f47be0ed535_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_ea6d26d7-e155-4d56-a7fc-4f47be0ed535" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_ea6d26d7-e155-4d56-a7fc-4f47be0ed535_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_af7c5bd3-76e1-4b2a-b502-76fc0f964468" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_ea6d26d7-e155-4d56-a7fc-4f47be0ed535" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_af7c5bd3-76e1-4b2a-b502-76fc0f964468" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_December2021PrivatePlacementMember_a8074be3-fa7c-4746-8477-324f60e47800" xlink:href="efoi-20230331.xsd#efoi_December2021PrivatePlacementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_af7c5bd3-76e1-4b2a-b502-76fc0f964468" xlink:to="loc_efoi_December2021PrivatePlacementMember_a8074be3-fa7c-4746-8477-324f60e47800" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightAxis_0c9456c2-b678-42c0-aaa2-ed70f774202c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f6447931-ca37-49fa-a531-579a0ca3f06c" xlink:to="loc_us-gaap_ClassOfWarrantOrRightAxis_0c9456c2-b678-42c0-aaa2-ed70f774202c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_0c9456c2-b678-42c0-aaa2-ed70f774202c_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_0c9456c2-b678-42c0-aaa2-ed70f774202c" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_0c9456c2-b678-42c0-aaa2-ed70f774202c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_5ad5d0d4-667b-4f06-bdcb-df1ea07f81ed" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_0c9456c2-b678-42c0-aaa2-ed70f774202c" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_5ad5d0d4-667b-4f06-bdcb-df1ea07f81ed" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PreFundedWarrantsMember_656da39e-1235-4aee-8b1b-e5e24ae791f2" xlink:href="efoi-20230331.xsd#efoi_PreFundedWarrantsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_5ad5d0d4-667b-4f06-bdcb-df1ea07f81ed" xlink:to="loc_efoi_PreFundedWarrantsMember_656da39e-1235-4aee-8b1b-e5e24ae791f2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember_3ee4c1c3-be60-4927-9ce6-9ab83fd3c5be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WarrantMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_5ad5d0d4-667b-4f06-bdcb-df1ea07f81ed" xlink:to="loc_us-gaap_WarrantMember_3ee4c1c3-be60-4927-9ce6-9ab83fd3c5be" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityPreferredStockDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails" xlink:type="extended" id="i5454f964321e4450bb850be45e179969_StockholdersEquityPreferredStockDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt_4fdd5cd0-34c1-4292-96ef-43fc44019067" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt_4fdd5cd0-34c1-4292-96ef-43fc44019067" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeFixedInterestRate_1e3559c5-358b-4359-9d1a-db948128fd57" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFixedInterestRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_us-gaap_DerivativeFixedInterestRate_1e3559c5-358b-4359-9d1a-db948128fd57" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_04875050-922e-44fe-a44b-e9d016615b9e" xlink:href="efoi-20230331.xsd#efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_04875050-922e-44fe-a44b-e9d016615b9e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_2e34e24f-3e63-44af-bc92-bf705ef74416" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_2e34e24f-3e63-44af-bc92-bf705ef74416" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_8a500942-fa36-4a2d-b07a-ba6477be10e9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_8a500942-fa36-4a2d-b07a-ba6477be10e9" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_e5ed3c1c-843c-43d4-85f0-9eead2c45765" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_e5ed3c1c-843c-43d4-85f0-9eead2c45765" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_dfca93f9-0007-464a-97b8-22d2118fe88a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_dfca93f9-0007-464a-97b8-22d2118fe88a" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_1a34b5f3-6454-4544-af33-6711f232dc0f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_1a34b5f3-6454-4544-af33-6711f232dc0f" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_49a435cc-624b-4128-8518-5e4b42a02bc5" xlink:href="efoi-20230331.xsd#efoi_PercentageOfSeriesAPreferredStockEligibleToVote"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_49a435cc-624b-4128-8518-5e4b42a02bc5" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_47c34784-b7d4-4406-8a19-5549f478b681" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_47c34784-b7d4-4406-8a19-5549f478b681" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_fef1d79c-c661-4194-b59f-e6936ed0de9a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_47c34784-b7d4-4406-8a19-5549f478b681" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_fef1d79c-c661-4194-b59f-e6936ed0de9a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_fef1d79c-c661-4194-b59f-e6936ed0de9a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_fef1d79c-c661-4194-b59f-e6936ed0de9a" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_fef1d79c-c661-4194-b59f-e6936ed0de9a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_1299b5d9-96b2-47d3-9fcb-b220525dff40" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_fef1d79c-c661-4194-b59f-e6936ed0de9a" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_1299b5d9-96b2-47d3-9fcb-b220525dff40" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtMember_46f02b58-5c75-4c06-bca6-8fd9841ad00a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleDebtMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_1299b5d9-96b2-47d3-9fcb-b220525dff40" xlink:to="loc_us-gaap_ConvertibleDebtMember_46f02b58-5c75-4c06-bca6-8fd9841ad00a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_8cb60b5c-30d1-4b1f-8d7a-7eeff97ac301" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_47c34784-b7d4-4406-8a19-5549f478b681" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_8cb60b5c-30d1-4b1f-8d7a-7eeff97ac301" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_8cb60b5c-30d1-4b1f-8d7a-7eeff97ac301_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_8cb60b5c-30d1-4b1f-8d7a-7eeff97ac301" xlink:to="loc_us-gaap_EquityComponentDomain_8cb60b5c-30d1-4b1f-8d7a-7eeff97ac301_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_d1e70b5b-f178-400d-8d58-0d2528129fbf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_8cb60b5c-30d1-4b1f-8d7a-7eeff97ac301" xlink:to="loc_us-gaap_EquityComponentDomain_d1e70b5b-f178-400d-8d58-0d2528129fbf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember_010554b8-4bf3-4061-b88f-829ac2313d15" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_d1e70b5b-f178-400d-8d58-0d2528129fbf" xlink:to="loc_us-gaap_PreferredStockMember_010554b8-4bf3-4061-b88f-829ac2313d15" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_3b70574a-9f12-49c4-bff3-29baa79f104e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_d1e70b5b-f178-400d-8d58-0d2528129fbf" xlink:to="loc_us-gaap_CommonStockMember_3b70574a-9f12-49c4-bff3-29baa79f104e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_ed33976d-a1bc-4ecc-a5de-bd86cf08c0aa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_47c34784-b7d4-4406-8a19-5549f478b681" xlink:to="loc_us-gaap_StatementClassOfStockAxis_ed33976d-a1bc-4ecc-a5de-bd86cf08c0aa" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_ed33976d-a1bc-4ecc-a5de-bd86cf08c0aa_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_ed33976d-a1bc-4ecc-a5de-bd86cf08c0aa" xlink:to="loc_us-gaap_ClassOfStockDomain_ed33976d-a1bc-4ecc-a5de-bd86cf08c0aa_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_13c610c2-1956-4ddf-9474-6c08ff4f897a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_ed33976d-a1bc-4ecc-a5de-bd86cf08c0aa" xlink:to="loc_us-gaap_ClassOfStockDomain_13c610c2-1956-4ddf-9474-6c08ff4f897a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember_a9b3fcbb-faa3-43d9-a316-e065dc57cb0a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertiblePreferredStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_13c610c2-1956-4ddf-9474-6c08ff4f897a" xlink:to="loc_us-gaap_ConvertiblePreferredStockMember_a9b3fcbb-faa3-43d9-a316-e065dc57cb0a" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityJanuary2020EquityOfferingDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails" xlink:type="extended" id="i241a39ac558349478f7e898e79c58cae_StockholdersEquityJanuary2020EquityOfferingDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_a0a370c1-ba0b-4f49-ace3-c17029c1601a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_a0a370c1-ba0b-4f49-ace3-c17029c1601a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_4029ac7e-98e2-400d-89bd-554bd4bbfe63" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_4029ac7e-98e2-400d-89bd-554bd4bbfe63" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_f7453374-f2d8-41be-a411-5c78e2406495" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_f7453374-f2d8-41be-a411-5c78e2406495" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_a897878a-3ad4-42db-bf86-8068bbfbbe12" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_a897878a-3ad4-42db-bf86-8068bbfbbe12" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_8d94e522-37f9-4dff-b0ff-15b054cb9a16" xlink:href="efoi-20230331.xsd#efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_8d94e522-37f9-4dff-b0ff-15b054cb9a16" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_d0c7dfd1-22b1-4157-94ef-93355cf7a982" xlink:href="efoi-20230331.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_d0c7dfd1-22b1-4157-94ef-93355cf7a982" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_20f25edf-a842-47c0-89f9-cb0f90854b01" xlink:href="efoi-20230331.xsd#efoi_EstimatedProceedsFromIssuanceOfWarrants"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_20f25edf-a842-47c0-89f9-cb0f90854b01" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_b30fb5f9-cd0f-4da0-8701-38b2c1b8bb81" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_b30fb5f9-cd0f-4da0-8701-38b2c1b8bb81" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_edfa9f3f-5c1f-474c-b77b-b6ccdc711cec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_edfa9f3f-5c1f-474c-b77b-b6ccdc711cec" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_4b449ab8-ae03-43e1-9533-4013df99a67e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_edfa9f3f-5c1f-474c-b77b-b6ccdc711cec" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_4b449ab8-ae03-43e1-9533-4013df99a67e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_4b449ab8-ae03-43e1-9533-4013df99a67e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_4b449ab8-ae03-43e1-9533-4013df99a67e" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_4b449ab8-ae03-43e1-9533-4013df99a67e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_f66f7dd7-0d8c-4b14-b44b-13931f7e4ab9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_4b449ab8-ae03-43e1-9533-4013df99a67e" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_f66f7dd7-0d8c-4b14-b44b-13931f7e4ab9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020InstitutionalInvestorMember_56c5a3e7-588e-492c-abac-3c29823d9d17" xlink:href="efoi-20230331.xsd#efoi_January2020InstitutionalInvestorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_f66f7dd7-0d8c-4b14-b44b-13931f7e4ab9" xlink:to="loc_efoi_January2020InstitutionalInvestorMember_56c5a3e7-588e-492c-abac-3c29823d9d17" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InstitutionalInvestorMember_0785d8cd-210a-4bff-b3e7-ad660d8a2c70" xlink:href="efoi-20230331.xsd#efoi_InstitutionalInvestorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_f66f7dd7-0d8c-4b14-b44b-13931f7e4ab9" xlink:to="loc_efoi_InstitutionalInvestorMember_0785d8cd-210a-4bff-b3e7-ad660d8a2c70" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020WarrantsMember_aba14ebd-cfb9-417e-8189-7913a8f68916" xlink:href="efoi-20230331.xsd#efoi_January2020WarrantsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_f66f7dd7-0d8c-4b14-b44b-13931f7e4ab9" xlink:to="loc_efoi_January2020WarrantsMember_aba14ebd-cfb9-417e-8189-7913a8f68916" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingMember_2491cfc4-e584-40a1-8580-a89b8d4e6fca" xlink:href="efoi-20230331.xsd#efoi_January2020EquityOfferingMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_f66f7dd7-0d8c-4b14-b44b-13931f7e4ab9" xlink:to="loc_efoi_January2020EquityOfferingMember_2491cfc4-e584-40a1-8580-a89b8d4e6fca" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails" xlink:type="extended" id="i68b62e8612eb43f7a34aa456cecbd977_StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a695c3d0-beff-401a-9a98-06aea072a95b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_be5b23d4-145c-47c7-aa76-bcfbc53ba35e" xlink:href="efoi-20230331.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a695c3d0-beff-401a-9a98-06aea072a95b" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_be5b23d4-145c-47c7-aa76-bcfbc53ba35e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_fcf73b6c-f945-45f4-97f0-ce90cf37aff2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a695c3d0-beff-401a-9a98-06aea072a95b" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_fcf73b6c-f945-45f4-97f0-ce90cf37aff2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_e47f21b1-fcf6-48c6-ae18-a7c221398561" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a695c3d0-beff-401a-9a98-06aea072a95b" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_e47f21b1-fcf6-48c6-ae18-a7c221398561" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d13fa00f-ba13-4654-ab2e-322711be7492" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a695c3d0-beff-401a-9a98-06aea072a95b" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d13fa00f-ba13-4654-ab2e-322711be7492" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_79475d10-6982-40ad-8c96-d7caf5f65592" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d13fa00f-ba13-4654-ab2e-322711be7492" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_79475d10-6982-40ad-8c96-d7caf5f65592" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_79475d10-6982-40ad-8c96-d7caf5f65592_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_79475d10-6982-40ad-8c96-d7caf5f65592" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_79475d10-6982-40ad-8c96-d7caf5f65592_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_cb8b3f15-0561-478c-a43a-46f113b3f12e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_79475d10-6982-40ad-8c96-d7caf5f65592" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_cb8b3f15-0561-478c-a43a-46f113b3f12e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingMember_844c1bb5-57f6-4862-8c47-5b7b6f8161a0" xlink:href="efoi-20230331.xsd#efoi_January2020EquityOfferingMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_cb8b3f15-0561-478c-a43a-46f113b3f12e" xlink:to="loc_efoi_January2020EquityOfferingMember_844c1bb5-57f6-4862-8c47-5b7b6f8161a0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020InstitutionalInvestorMember_efee608f-00c3-4fc2-9caa-00ffaf114230" xlink:href="efoi-20230331.xsd#efoi_January2020InstitutionalInvestorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_January2020EquityOfferingMember_844c1bb5-57f6-4862-8c47-5b7b6f8161a0" xlink:to="loc_efoi_January2020InstitutionalInvestorMember_efee608f-00c3-4fc2-9caa-00ffaf114230" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingPrivatePlacementMember_ebce9db1-7d9c-401e-91c5-9aff763d12e7" xlink:href="efoi-20230331.xsd#efoi_January2020EquityOfferingPrivatePlacementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_January2020EquityOfferingMember_844c1bb5-57f6-4862-8c47-5b7b6f8161a0" xlink:to="loc_efoi_January2020EquityOfferingPrivatePlacementMember_ebce9db1-7d9c-401e-91c5-9aff763d12e7" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityStockBasedCompensationDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails" xlink:type="extended" id="ie3f1e7b64942463cb1e2ed3a542f8e56_StockholdersEquityStockBasedCompensationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_64e6e6d1-c2b1-4571-808c-892353ba3c9a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_47437762-33d0-47f9-8293-f5eba9066859" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_64e6e6d1-c2b1-4571-808c-892353ba3c9a" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_47437762-33d0-47f9-8293-f5eba9066859" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_7f476c08-04e8-4f37-9879-91ba42252726" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_64e6e6d1-c2b1-4571-808c-892353ba3c9a" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_7f476c08-04e8-4f37-9879-91ba42252726" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_142c17a4-5bca-47d4-8ab3-9c31fb03e46e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_64e6e6d1-c2b1-4571-808c-892353ba3c9a" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_142c17a4-5bca-47d4-8ab3-9c31fb03e46e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_e5c39c1f-eaf2-4acd-94e8-891abc4e8dca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_64e6e6d1-c2b1-4571-808c-892353ba3c9a" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_e5c39c1f-eaf2-4acd-94e8-891abc4e8dca" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_8729eda5-1632-45ca-9d67-24782de1503f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_e5c39c1f-eaf2-4acd-94e8-891abc4e8dca" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_8729eda5-1632-45ca-9d67-24782de1503f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_8729eda5-1632-45ca-9d67-24782de1503f_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_8729eda5-1632-45ca-9d67-24782de1503f" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_8729eda5-1632-45ca-9d67-24782de1503f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_6577ea09-8442-4fe1-a8f4-067898e71d34" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_8729eda5-1632-45ca-9d67-24782de1503f" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_6577ea09-8442-4fe1-a8f4-067898e71d34" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_4ed847d7-d48d-4e73-b90e-8415b893bf60" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_6577ea09-8442-4fe1-a8f4-067898e71d34" xlink:to="loc_us-gaap_CostOfSalesMember_4ed847d7-d48d-4e73-b90e-8415b893bf60" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_c583b357-6527-435e-8bce-5ebd9d48220f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_6577ea09-8442-4fe1-a8f4-067898e71d34" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_c583b357-6527-435e-8bce-5ebd9d48220f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_165da452-30fb-4460-b436-7b2b4d709c30" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_6577ea09-8442-4fe1-a8f4-067898e71d34" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_165da452-30fb-4460-b436-7b2b4d709c30" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityEstimatesUtilizedDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails" xlink:type="extended" id="i019b6984005e4a0b89974a736fbf48d7_StockholdersEquityEstimatesUtilizedDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_43a798af-eb32-4eab-807a-7a92f9af55a5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_a2cf28e5-c6dc-43ba-a196-ec124b0adf60" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_43a798af-eb32-4eab-807a-7a92f9af55a5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_a2cf28e5-c6dc-43ba-a196-ec124b0adf60" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice_23c4a962-66cd-4da3-9ad4-379e438e3ae6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_43a798af-eb32-4eab-807a-7a92f9af55a5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice_23c4a962-66cd-4da3-9ad4-379e438e3ae6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_65a1c6f5-7f49-490c-a8c3-e6ae6665ee44" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_43a798af-eb32-4eab-807a-7a92f9af55a5" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_65a1c6f5-7f49-490c-a8c3-e6ae6665ee44" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_6ebf3542-2c33-49fe-933b-03f811e08481" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_43a798af-eb32-4eab-807a-7a92f9af55a5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_6ebf3542-2c33-49fe-933b-03f811e08481" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_d51d5589-428e-4a19-bb6e-bb3823a90939" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_43a798af-eb32-4eab-807a-7a92f9af55a5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_d51d5589-428e-4a19-bb6e-bb3823a90939" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_fe9711b2-a919-4d30-be17-a8400b4dd471" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_43a798af-eb32-4eab-807a-7a92f9af55a5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_fe9711b2-a919-4d30-be17-a8400b4dd471" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ca72b818-713f-4ec5-bfee-0ea39632400a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_43a798af-eb32-4eab-807a-7a92f9af55a5" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ca72b818-713f-4ec5-bfee-0ea39632400a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_3f69b331-b7a1-4571-b550-a750df30929a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ca72b818-713f-4ec5-bfee-0ea39632400a" xlink:to="loc_us-gaap_AwardTypeAxis_3f69b331-b7a1-4571-b550-a750df30929a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3f69b331-b7a1-4571-b550-a750df30929a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_3f69b331-b7a1-4571-b550-a750df30929a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_3f69b331-b7a1-4571-b550-a750df30929a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_21e82e4a-3e87-440d-9ab1-3b3d855e83ab" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_3f69b331-b7a1-4571-b550-a750df30929a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_21e82e4a-3e87-440d-9ab1-3b3d855e83ab" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_af354280-3b52-49c9-8e11-e9e8af6bae74" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_21e82e4a-3e87-440d-9ab1-3b3d855e83ab" xlink:to="loc_us-gaap_EmployeeStockOptionMember_af354280-3b52-49c9-8e11-e9e8af6bae74" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityRestrictedStockUnitsDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails" xlink:type="extended" id="i599d53c65bdc4df1b0824bd10b9b3e43_StockholdersEquityRestrictedStockUnitsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_468c4082-776a-4357-9d89-8a38a3f2f47f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_9da98509-db67-4c59-b5d9-c911fb82b954" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_468c4082-776a-4357-9d89-8a38a3f2f47f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_9da98509-db67-4c59-b5d9-c911fb82b954" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_6220833e-530a-482d-b634-58f165e66079" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_9da98509-db67-4c59-b5d9-c911fb82b954" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_6220833e-530a-482d-b634-58f165e66079" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_58f6bc1e-750e-4543-a145-f427ed08aa96" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_9da98509-db67-4c59-b5d9-c911fb82b954" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_58f6bc1e-750e-4543-a145-f427ed08aa96" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_6c5d4abb-f2af-48fc-bfbd-9ab0408ecf20" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_4fbe7632-7e8d-42f1-91c7-997abc678e89" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_468c4082-776a-4357-9d89-8a38a3f2f47f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_4fbe7632-7e8d-42f1-91c7-997abc678e89" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_8d0c25c1-9196-4173-9650-64528a6f7a02" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_4fbe7632-7e8d-42f1-91c7-997abc678e89" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_8d0c25c1-9196-4173-9650-64528a6f7a02" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_389c7108-6d21-466d-a667-66c7213da970" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_4fbe7632-7e8d-42f1-91c7-997abc678e89" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_389c7108-6d21-466d-a667-66c7213da970" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_08aa3f1f-ce8e-4460-adc1-3a8b0758c46b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_9050217a-4994-4926-838e-5c3bc790c8e0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_468c4082-776a-4357-9d89-8a38a3f2f47f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_9050217a-4994-4926-838e-5c3bc790c8e0" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_4ed3a4fa-80d3-45a4-985a-e3a40f30ab32" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_9050217a-4994-4926-838e-5c3bc790c8e0" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_4ed3a4fa-80d3-45a4-985a-e3a40f30ab32" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_05e35ade-8f85-4aef-bdc8-9dca3790f77f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_468c4082-776a-4357-9d89-8a38a3f2f47f" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_05e35ade-8f85-4aef-bdc8-9dca3790f77f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_6c347940-3d01-42b1-b58b-4d1218e63a21" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_05e35ade-8f85-4aef-bdc8-9dca3790f77f" xlink:to="loc_us-gaap_AwardTypeAxis_6c347940-3d01-42b1-b58b-4d1218e63a21" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6c347940-3d01-42b1-b58b-4d1218e63a21_default" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_6c347940-3d01-42b1-b58b-4d1218e63a21" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6c347940-3d01-42b1-b58b-4d1218e63a21_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_8891bf9a-ce74-47e7-883d-bf6ff2e74d12" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_6c347940-3d01-42b1-b58b-4d1218e63a21" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_8891bf9a-ce74-47e7-883d-bf6ff2e74d12" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_5d31f6cb-22ca-4470-9a50-b0f8ebb3c0e9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_8891bf9a-ce74-47e7-883d-bf6ff2e74d12" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_5d31f6cb-22ca-4470-9a50-b0f8ebb3c0e9" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CommitmentsandContingenciesDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#CommitmentsandContingenciesDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/CommitmentsandContingenciesDetails" xlink:type="extended" id="i565d34587deb407ab5c5a2e1f0848a77_CommitmentsandContingenciesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_247623fd-e271-4ad0-b3ec-2d3a202e5724" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligation_8ee155dc-1dc3-4f04-9b40-1198076c887f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_247623fd-e271-4ad0-b3ec-2d3a202e5724" xlink:to="loc_us-gaap_PurchaseObligation_8ee155dc-1dc3-4f04-9b40-1198076c887f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentAmount_9e243322-32e5-4a42-b1e9-b29e813ea4df" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermPurchaseCommitmentAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_247623fd-e271-4ad0-b3ec-2d3a202e5724" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentAmount_9e243322-32e5-4a42-b1e9-b29e813ea4df" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_ad86211d-60ce-4a8c-b790-28de016dc025" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_247623fd-e271-4ad0-b3ec-2d3a202e5724" xlink:to="loc_us-gaap_StatementTable_ad86211d-60ce-4a8c-b790-28de016dc025" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementScenarioAxis_b1fcd07e-d093-470f-9c25-afe7aad47bc8" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_ad86211d-60ce-4a8c-b790-28de016dc025" xlink:to="loc_srt_StatementScenarioAxis_b1fcd07e-d093-470f-9c25-afe7aad47bc8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioUnspecifiedDomain_b1fcd07e-d093-470f-9c25-afe7aad47bc8_default" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementScenarioAxis_b1fcd07e-d093-470f-9c25-afe7aad47bc8" xlink:to="loc_srt_ScenarioUnspecifiedDomain_b1fcd07e-d093-470f-9c25-afe7aad47bc8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioUnspecifiedDomain_86553a4c-b4f4-4e5f-be29-587955395632" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementScenarioAxis_b1fcd07e-d093-470f-9c25-afe7aad47bc8" xlink:to="loc_srt_ScenarioUnspecifiedDomain_86553a4c-b4f4-4e5f-be29-587955395632" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioForecastMember_d3a01d61-630e-4ef0-8979-4a644c8822c0" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ScenarioUnspecifiedDomain_86553a4c-b4f4-4e5f-be29-587955395632" xlink:to="loc_srt_ScenarioForecastMember_d3a01d61-630e-4ef0-8979-4a644c8822c0" xlink:type="arc" order="0"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>10
<FILENAME>efoi-20230331_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:de1bd638-ffb7-47e5-8942-3bd62ebf833a,g:0768392e-8f6d-4653-8602-524040c13358-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_us-gaap_GeographicConcentrationRiskMember_8bab7072-648c-46ec-bee4-867d41dbd08f_terseLabel_en-US" xlink:label="lab_us-gaap_GeographicConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographic Concentration Risk</link:label>
    <link:label id="lab_us-gaap_GeographicConcentrationRiskMember_label_en-US" xlink:label="lab_us-gaap_GeographicConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographic Concentration Risk [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeographicConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeographicConcentrationRiskMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GeographicConcentrationRiskMember" xlink:to="lab_us-gaap_GeographicConcentrationRiskMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_6bd1d64b-3560-4d2d-99a3-41641f3f2f0c_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_01da758e-7f58-46ea-8355-01f313545e9f_totalLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total future undiscounted lease payments</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DebtInstrumentEnteredPeriodDomain_68915f46-5c6b-43c4-94ab-444b3880d865_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentEnteredPeriodDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument Entered Period [Domain]</link:label>
    <link:label id="lab_efoi_DebtInstrumentEnteredPeriodDomain_label_en-US" xlink:label="lab_efoi_DebtInstrumentEnteredPeriodDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument Entered Period [Domain]</link:label>
    <link:label id="lab_efoi_DebtInstrumentEnteredPeriodDomain_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentEnteredPeriodDomain" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument Entered Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentEnteredPeriodDomain" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentEnteredPeriodDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodDomain" xlink:to="lab_efoi_DebtInstrumentEnteredPeriodDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_e4c29b40-8184-4dff-8035-64d3015afb05_terseLabel_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for doubtful accounts receivable</link:label>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_label_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Credit Loss Expense (Reversal)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:to="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentCarryingAmount_16c370d6-29dd-4a94-b539-644e37af5998_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liability, net of discount and financing fees</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentCarryingAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentCarryingAmount" xlink:to="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_33c88c08-50f9-4821-8dc5-b5926ee021a8_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAsset_91da5817-d47b-46d0-9265-02b14386f147_totalLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance lease assets, net</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAsset_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Right-of-Use Asset, after Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseRightOfUseAsset" xlink:to="lab_us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_4d997350-64da-4223-a913-ef716ded2fb3_terseLabel_en-US" xlink:label="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from the issuance of common stock and warrants</link:label>
    <link:label id="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_label_en-US" xlink:label="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance of Common Stock and Warrants</link:label>
    <link:label id="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_documentation_en-US" xlink:label="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance of Common Stock and Warrants</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:href="efoi-20230331.xsd#efoi_ProceedsFromIssuanceOfCommonStockAndWarrants"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:to="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAbstract_26f3d37e-50b9-42c0-b292-83688f9391f1_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAbstract_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_daf723e0-3d90-423e-97b1-0ce0a11dc17a_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesOutstanding" xlink:to="lab_us-gaap_PreferredStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_9dacd612-e55e-4bb0-9534-a7dbae262149_terseLabel_en-US" xlink:label="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net proceeds from the conversion of convertible debt to preferred stock</link:label>
    <link:label id="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_label_en-US" xlink:label="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net proceeds from the conversion of convertible debt to preferred stock</link:label>
    <link:label id="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_documentation_en-US" xlink:label="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net proceeds from the conversion of convertible debt to preferred stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:href="efoi-20230331.xsd#efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:to="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentAxis_54f7ba33-dae4-4319-af23-0656e189288f_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentAxis_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentAxis" xlink:to="lab_us-gaap_DebtInstrumentAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_6500c30a-9227-4fcc-8d1f-63e26ae8df32_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment at cost</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_ba704535-0776-4e23-8a89-7e1b3ca44c5a_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum borrowing capacity on line of credit</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_a9d11d88-3ab7-4fed-8c01-7930dca4add4_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount_fa2ec2b9-bd37-446f-9566-7dff778d2353_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum redemption amount</link:label>
    <link:label id="lab_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount_label_en-US" xlink:label="lab_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument Subject To Mandatory Redemption, Maximum Amount</link:label>
    <link:label id="lab_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument Subject To Mandatory Redemption, Maximum Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" xlink:to="lab_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedEmployeeBenefitsCurrent_3741be89-31e4-43cc-8827-0a79690ddee9_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued payroll and related benefits</link:label>
    <link:label id="lab_us-gaap_AccruedEmployeeBenefitsCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Employee Benefits, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:to="lab_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueOfFinancialInstrumentsPolicy_330b6c67-4d6a-4872-9d48-39ba995c7e48_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments</link:label>
    <link:label id="lab_us-gaap_FairValueOfFinancialInstrumentsPolicy_label_en-US" xlink:label="lab_us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value of Financial Instruments, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="lab_us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherIncomeAndExpensesAbstract_label_en-US" xlink:label="lab_us-gaap_OtherIncomeAndExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Income and Expenses [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncomeAndExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherIncomeAndExpensesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="lab_us-gaap_OtherIncomeAndExpensesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_MMMLEDProductsMember_46cc2f00-1252-42b5-a905-0a0ff16e4e5d_terseLabel_en-US" xlink:label="lab_efoi_MMMLEDProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MMM LED Products</link:label>
    <link:label id="lab_efoi_MMMLEDProductsMember_label_en-US" xlink:label="lab_efoi_MMMLEDProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MMM LED Products [Member]</link:label>
    <link:label id="lab_efoi_MMMLEDProductsMember_documentation_en-US" xlink:label="lab_efoi_MMMLEDProductsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MMM LED Products</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_MMMLEDProductsMember" xlink:href="efoi-20230331.xsd#efoi_MMMLEDProductsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_MMMLEDProductsMember" xlink:to="lab_efoi_MMMLEDProductsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeMember_00906b8b-e527-44b6-9aa3-4606b9ecb7a7_terseLabel_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:label id="lab_srt_RangeMember_label_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember" xlink:to="lab_srt_RangeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseDiscountRate_ba6647b9-aefe-445a-a1f3-92e5eb361558_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseDiscountRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, discount rate</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseDiscountRate_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseDiscountRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Discount Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseDiscountRate" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseDiscountRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseDiscountRate" xlink:to="lab_us-gaap_LesseeOperatingLeaseDiscountRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Depreciation_b24c0510-f10a-464d-b72f-61131b3213d6_terseLabel_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation</link:label>
    <link:label id="lab_us-gaap_Depreciation_label_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Depreciation" xlink:to="lab_us-gaap_Depreciation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfDebt_2e8005e6-342f-4edd-a225-7056640cecbc_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase price</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance of Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfDebt" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShortTermDebtTypeAxis_6867e332-433e-4bb3-beba-4e33d51c6af4_terseLabel_en-US" xlink:label="lab_us-gaap_ShortTermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-Term Debt, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_ShortTermDebtTypeAxis_label_en-US" xlink:label="lab_us-gaap_ShortTermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-Term Debt, Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermDebtTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortTermDebtTypeAxis" xlink:to="lab_us-gaap_ShortTermDebtTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage_40406b56-37cd-4996-889a-56f5f445ae65_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest rate</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Interest Rate, Stated Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DebtInstrumentTrancheAmount_3f68e717-ced5-413b-a6e5-cdc29cb63187_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentTrancheAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt instrument, tranche amount</link:label>
    <link:label id="lab_efoi_DebtInstrumentTrancheAmount_label_en-US" xlink:label="lab_efoi_DebtInstrumentTrancheAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Tranche Amount</link:label>
    <link:label id="lab_efoi_DebtInstrumentTrancheAmount_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentTrancheAmount" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Tranche Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentTrancheAmount" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentTrancheAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentTrancheAmount" xlink:to="lab_efoi_DebtInstrumentTrancheAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_95964f98-ce1f-44fb-ac13-bb535aeda846_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid in Capital, Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice_27cc15c8-6e17-4134-8e7a-fed52880ea73_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise price (USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DomesticCountryMember_7142d781-3a7f-4f94-aefa-71aec804c233_terseLabel_en-US" xlink:label="lab_us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">U.S. Federal, State and Local Tax Authorities</link:label>
    <link:label id="lab_us-gaap_DomesticCountryMember_label_en-US" xlink:label="lab_us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic Tax Authority [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticCountryMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DomesticCountryMember" xlink:to="lab_us-gaap_DomesticCountryMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_8594f724-762c-4554-a2c6-417a5da25b69_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_1c83ec62-adbf-4da5-a8fb-a6fd1fed417e_totalLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLoss_360db60c-5183-4cbb-92cf-fe990386fb77_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_ffb3f134-12ad-4f9e-8e2f-c1960a9b866d_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_ae9dec3d-28fb-4b79-a4f1-fa98bb5c3501_verboseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_69363d28-7316-45b8-8646-3b9e7401551b_netLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss) Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="lab_us-gaap_NetIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_8af322af-87ba-4dc6-9a63-dd9f77710459_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Securities excluded from net loss per share calculation (in shares)</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeFinanceLeasesTextBlock_e295a07b-b92c-45fa-be45-625304c628a6_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeFinanceLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeFinanceLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeFinanceLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Finance Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeFinanceLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeFinanceLeasesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeFinanceLeasesTextBlock" xlink:to="lab_us-gaap_LesseeFinanceLeasesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionAxis_266e650c-fb93-4570-9394-789d8b9dbbc8_terseLabel_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption [Axis]</link:label>
    <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionAxis_label_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="lab_srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableGrossCurrent_f7f9471e-ead8-4c61-8e19-0063cacad84c_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableGrossCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Accounts Receivable</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableGrossCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableGrossCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, before Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableGrossCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableGrossCurrent" xlink:to="lab_us-gaap_AccountsReceivableGrossCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_A2022PromissoryNoteMember_4b128b4c-9c39-4d98-8706-a79141ddca48_terseLabel_en-US" xlink:label="lab_efoi_A2022PromissoryNoteMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022 Promissory Note</link:label>
    <link:label id="lab_efoi_A2022PromissoryNoteMember_label_en-US" xlink:label="lab_efoi_A2022PromissoryNoteMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022 Promissory Note [Member]</link:label>
    <link:label id="lab_efoi_A2022PromissoryNoteMember_documentation_en-US" xlink:label="lab_efoi_A2022PromissoryNoteMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022 Promissory Note [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A2022PromissoryNoteMember" xlink:href="efoi-20230331.xsd#efoi_A2022PromissoryNoteMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_A2022PromissoryNoteMember" xlink:to="lab_efoi_A2022PromissoryNoteMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityComponentDomain_dfae3028-95a2-436f-9b2a-4a71bd4e156f_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:label id="lab_us-gaap_EquityComponentDomain_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_StatementScenarioAxis_697a2aa4-5c93-4708-8d23-cd73486f09a9_terseLabel_en-US" xlink:label="lab_srt_StatementScenarioAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scenario [Axis]</link:label>
    <link:label id="lab_srt_StatementScenarioAxis_label_en-US" xlink:label="lab_srt_StatementScenarioAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scenario [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementScenarioAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_StatementScenarioAxis" xlink:to="lab_srt_StatementScenarioAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_d8190056-c6f2-479f-887f-78f2612d5f3a_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RelatedPartyDomain_5c5dff23-f31f-4d84-8bbd-edba187aeb11_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party [Domain]</link:label>
    <link:label id="lab_us-gaap_RelatedPartyDomain_label_en-US" xlink:label="lab_us-gaap_RelatedPartyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyDomain" xlink:to="lab_us-gaap_RelatedPartyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PaymentsForPlacementAgentCommissions_7019cf04-6f35-452f-9ad8-3117940a6ff5_terseLabel_en-US" xlink:label="lab_efoi_PaymentsForPlacementAgentCommissions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount paid for placement agent commissions</link:label>
    <link:label id="lab_efoi_PaymentsForPlacementAgentCommissions_label_en-US" xlink:label="lab_efoi_PaymentsForPlacementAgentCommissions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments For Placement Agent Commissions</link:label>
    <link:label id="lab_efoi_PaymentsForPlacementAgentCommissions_documentation_en-US" xlink:label="lab_efoi_PaymentsForPlacementAgentCommissions" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments For Placement Agent Commissions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForPlacementAgentCommissions" xlink:href="efoi-20230331.xsd#efoi_PaymentsForPlacementAgentCommissions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PaymentsForPlacementAgentCommissions" xlink:to="lab_efoi_PaymentsForPlacementAgentCommissions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_579991c2-83e9-486a-ac79-56c58956a03f_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss, diluted (USD per share)</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations, Per Diluted Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_7669d2b9-1a0a-446f-8bc1-3f2a2b7040ac_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Canceled/forfeited (USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_March2023PrivatePlacementMember_b7adb321-0994-4c17-afd9-37b1374a3a80_terseLabel_en-US" xlink:label="lab_efoi_March2023PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">March 2023 Private Placement</link:label>
    <link:label id="lab_efoi_March2023PrivatePlacementMember_label_en-US" xlink:label="lab_efoi_March2023PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">March 2023 Private Placement [Member]</link:label>
    <link:label id="lab_efoi_March2023PrivatePlacementMember_documentation_en-US" xlink:label="lab_efoi_March2023PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">March 2023 Private Placement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_March2023PrivatePlacementMember" xlink:href="efoi-20230331.xsd#efoi_March2023PrivatePlacementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_March2023PrivatePlacementMember" xlink:to="lab_efoi_March2023PrivatePlacementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_688ac14f-84d5-42ef-ade5-9ada23170598_terseLabel_en-US" xlink:label="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets, operating loss carryforwards, portion available after application of IRC Section 382 limitations</link:label>
    <link:label id="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_label_en-US" xlink:label="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards, Portion Available After Application Of IRC Section 382 Limitations</link:label>
    <link:label id="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_documentation_en-US" xlink:label="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards, Portion Available After Application Of IRC Section 382 Limitations</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:href="efoi-20230331.xsd#efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:to="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_3959e24f-0370-4b2a-9060-cf3f2893c996_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock issued in exchange transactions</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Additional Paid in Capital, Equity Component of Convertible Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_InventoryValuationReservesProvisionAccrual_24196da9-4999-48e0-94e5-7d344592d3c9_terseLabel_en-US" xlink:label="lab_efoi_InventoryValuationReservesProvisionAccrual" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrual</link:label>
    <link:label id="lab_efoi_InventoryValuationReservesProvisionAccrual_label_en-US" xlink:label="lab_efoi_InventoryValuationReservesProvisionAccrual" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation Reserves, Provision (Accrual)</link:label>
    <link:label id="lab_efoi_InventoryValuationReservesProvisionAccrual_documentation_en-US" xlink:label="lab_efoi_InventoryValuationReservesProvisionAccrual" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation Reserves, Provision (Accrual)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesProvisionAccrual" xlink:href="efoi-20230331.xsd#efoi_InventoryValuationReservesProvisionAccrual"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InventoryValuationReservesProvisionAccrual" xlink:to="lab_efoi_InventoryValuationReservesProvisionAccrual" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_355d9890-4e60-4e33-8643-cc6f6e772738_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_9ca6bd72-7137-43fb-90f0-d6e2eeb536ce_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_c26adbfd-6a46-408f-a91c-ed9441827922_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at end of period</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_CommonStockTradePricePerShare_115e7f18-57c0-4b3b-a05f-6d0acdb4cf7e_terseLabel_en-US" xlink:label="lab_efoi_CommonStockTradePricePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, trade price (USD per share)</link:label>
    <link:label id="lab_efoi_CommonStockTradePricePerShare_label_en-US" xlink:label="lab_efoi_CommonStockTradePricePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, Trade Price Per Share</link:label>
    <link:label id="lab_efoi_CommonStockTradePricePerShare_documentation_en-US" xlink:label="lab_efoi_CommonStockTradePricePerShare" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, Trade Price Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommonStockTradePricePerShare" xlink:href="efoi-20230331.xsd#efoi_CommonStockTradePricePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_CommonStockTradePricePerShare" xlink:to="lab_efoi_CommonStockTradePricePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AwardTypeAxis_368b7ae3-9c88-4a66-85e1-9458d5cc5126_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AwardTypeAxis_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="lab_us-gaap_AwardTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_cd65fa6d-0a7d-4fe1-be14-b77641a8ff24_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average shares of common stock outstanding:</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_28e0ea56-917c-4bee-adc0-4c407faced6e_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash used in operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_23715d2f-7f23-4ed2-abec-c41867eb0ea1_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash used in operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_50d62bdd-4306-4dd8-8490-7bd3a07f7059_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_80dc0965-ee78-400d-91cc-2bcbc27dfcda_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_c43308e1-a1bb-4238-94f8-f107a056a729_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Restricted Stock Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RelatedPartyTransactionDomain_a7f90727-a7c3-400d-9434-6570ff595bd5_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party Transaction [Domain]</link:label>
    <link:label id="lab_us-gaap_RelatedPartyTransactionDomain_label_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party Transaction [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionDomain" xlink:to="lab_us-gaap_RelatedPartyTransactionDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BridgeLoanMember_4ff90d1e-10b1-4c88-87e4-9124a7439629_terseLabel_en-US" xlink:label="lab_us-gaap_BridgeLoanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Bridge Loan</link:label>
    <link:label id="lab_us-gaap_BridgeLoanMember_label_en-US" xlink:label="lab_us-gaap_BridgeLoanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Bridge Loan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BridgeLoanMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BridgeLoanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BridgeLoanMember" xlink:to="lab_us-gaap_BridgeLoanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember_29cadd40-0393-45a4-8d35-76839e2b827f_terseLabel_en-US" xlink:label="lab_efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor to the U.S. Navy Combined with Sales to Shipbuilders</link:label>
    <link:label id="lab_efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember_label_en-US" xlink:label="lab_efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor To The U.S. Navy Combined With Sales To Shipbuilders [Member]</link:label>
    <link:label id="lab_efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember_documentation_en-US" xlink:label="lab_efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor To The U.S. Navy Combined With Sales To Shipbuilders</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember" xlink:href="efoi-20230331.xsd#efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember" xlink:to="lab_efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_11493619-8520-4280-be24-5d464c87c830_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Canceled/forfeited (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Liabilities_3a2faf6d-629d-462a-9915-4de561b3c1e8_totalLabel_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities</link:label>
    <link:label id="lab_us-gaap_Liabilities_label_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Liabilities" xlink:to="lab_us-gaap_Liabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_d284afff-c84a-4f96-a198-4ac2a23b3d7a_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, weighted average remaining lease term</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2bfade90-69c6-4670-9e0e-c49ddbda5aa2_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_StatementGeographicalAxis_71b95ee5-e986-4ea6-87fa-255d8c2f02d9_terseLabel_en-US" xlink:label="lab_srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:label id="lab_srt_StatementGeographicalAxis_label_en-US" xlink:label="lab_srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_StatementGeographicalAxis" xlink:to="lab_srt_StatementGeographicalAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_663ff9e8-3508-45bc-8aa7-0a5ab8330f51_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from investing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_January2020WarrantsMember_728e9955-9171-4c0e-a3c7-b5f329e97076_terseLabel_en-US" xlink:label="lab_efoi_January2020WarrantsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Warrants</link:label>
    <link:label id="lab_efoi_January2020WarrantsMember_label_en-US" xlink:label="lab_efoi_January2020WarrantsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Warrants [Member]</link:label>
    <link:label id="lab_efoi_January2020WarrantsMember_documentation_en-US" xlink:label="lab_efoi_January2020WarrantsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Warrants</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020WarrantsMember" xlink:href="efoi-20230331.xsd#efoi_January2020WarrantsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_January2020WarrantsMember" xlink:to="lab_efoi_January2020WarrantsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeasedAssetsLineItems_d6f5a737-3fba-4809-95b9-9ddc1e182089_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasedAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Leased Assets [Line Items]</link:label>
    <link:label id="lab_us-gaap_OperatingLeasedAssetsLineItems_label_en-US" xlink:label="lab_us-gaap_OperatingLeasedAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Leased Assets [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasedAssetsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasedAssetsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasedAssetsLineItems" xlink:to="lab_us-gaap_OperatingLeasedAssetsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_b192b113-6bae-4df0-a8c8-cc72e0aac5fa_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding" xlink:to="lab_dei_EntityCommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_StandardProductWarrantyNumberofYears_011a2ddf-c9d6-4d87-8624-50ebcd2043d2_terseLabel_en-US" xlink:label="lab_efoi_StandardProductWarrantyNumberofYears" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard product warranty, number of years</link:label>
    <link:label id="lab_efoi_StandardProductWarrantyNumberofYears_label_en-US" xlink:label="lab_efoi_StandardProductWarrantyNumberofYears" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Product Warranty, Number of Years</link:label>
    <link:label id="lab_efoi_StandardProductWarrantyNumberofYears_documentation_en-US" xlink:label="lab_efoi_StandardProductWarrantyNumberofYears" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Product Warranty, Number of Years</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_StandardProductWarrantyNumberofYears" xlink:href="efoi-20230331.xsd#efoi_StandardProductWarrantyNumberofYears"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_StandardProductWarrantyNumberofYears" xlink:to="lab_efoi_StandardProductWarrantyNumberofYears" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LesseeOperatingLeaseInterestRateEffectiveRate_ca7f9747-706b-475a-b8c2-105f3077dbc4_terseLabel_en-US" xlink:label="lab_efoi_LesseeOperatingLeaseInterestRateEffectiveRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, borrowing rate</link:label>
    <link:label id="lab_efoi_LesseeOperatingLeaseInterestRateEffectiveRate_label_en-US" xlink:label="lab_efoi_LesseeOperatingLeaseInterestRateEffectiveRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Interest Rate, Effective Rate</link:label>
    <link:label id="lab_efoi_LesseeOperatingLeaseInterestRateEffectiveRate_documentation_en-US" xlink:label="lab_efoi_LesseeOperatingLeaseInterestRateEffectiveRate" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Interest Rate, Effective Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LesseeOperatingLeaseInterestRateEffectiveRate" xlink:href="efoi-20230331.xsd#efoi_LesseeOperatingLeaseInterestRateEffectiveRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LesseeOperatingLeaseInterestRateEffectiveRate" xlink:to="lab_efoi_LesseeOperatingLeaseInterestRateEffectiveRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_de3b61b5-6428-4c8a-a6ec-6afeb720e484_terseLabel_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Credit Facility</link:label>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_label_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevolvingCreditFacilityMember" xlink:to="lab_us-gaap_RevolvingCreditFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_790e8f85-a196-4965-897d-562a63421200_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Property and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_d79a3b08-026a-4c52-a676-45b1ca4dae77_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_ecd30b0f-db58-4234-8eb3-b669c50bc565_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, issued (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesIssued" xlink:to="lab_us-gaap_PreferredStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentType_8a5cd96e-932e-4a60-8f0f-284b8127fdbb_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DateEnteredTwoMember_ce8f2fdd-6d9a-431f-8149-28153422176c_terseLabel_en-US" xlink:label="lab_efoi_DateEnteredTwoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">October 25, 2022</link:label>
    <link:label id="lab_efoi_DateEnteredTwoMember_label_en-US" xlink:label="lab_efoi_DateEnteredTwoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Date Entered Two [Member]</link:label>
    <link:label id="lab_efoi_DateEnteredTwoMember_documentation_en-US" xlink:label="lab_efoi_DateEnteredTwoMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Date Entered Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredTwoMember" xlink:href="efoi-20230331.xsd#efoi_DateEnteredTwoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DateEnteredTwoMember" xlink:to="lab_efoi_DateEnteredTwoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption_83c5fc14-a6b0-4c7f-bbf2-1eb12e26a651_terseLabel_en-US" xlink:label="lab_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percentage increase due to deferral of redemption option</link:label>
    <link:label id="lab_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption_label_en-US" xlink:label="lab_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Note Payable, Percentage Increase Due to Deferral of Redemption Option</link:label>
    <link:label id="lab_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption_documentation_en-US" xlink:label="lab_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Note Payable, Percentage Increase Due to Deferral of Redemption Option</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" xlink:href="efoi-20230331.xsd#efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" xlink:to="lab_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_887cdc64-c910-48c7-b2d3-7e83ae77ac48_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Exercise Price Per Share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_6282eaa7-0b94-4ef1-a00e-a17f53ba7f2f_terseLabel_en-US" xlink:label="lab_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate</link:label>
    <link:label id="lab_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_label_en-US" xlink:label="lab_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:to="lab_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_af27229b-c5da-422b-8247-8ed20809c25f_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, useful life</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskBenchmarkDomain_da6d1fe2-f45c-4b18-b543-e7810d55f372_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskBenchmarkDomain_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_99428ea0-494d-4f17-80d2-8ba33018d030_terseLabel_en-US" xlink:label="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customer [Line Items]</link:label>
    <link:label id="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_label_en-US" xlink:label="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customer [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPayments_0de6f7ec-2188-4d0a-bf1b-8d4cb96960c9_negatedLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPayments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">In kind settlements made during the period</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPayments_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Product Warranty Accrual, Decrease for Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPayments" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualPayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualPayments" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualPayments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_a4ef8aca-130a-46e3-8b08-1092d178f3e5_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at beginning of period (USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_9999be33-a621-4ebb-8461-ff2e0f5d8a3a_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at end of period (USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtDisclosureTextBlock_5db54bf5-7ed4-4cc7-b7fb-f06d50129ecc_terseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt</link:label>
    <link:label id="lab_us-gaap_DebtDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureTextBlock" xlink:to="lab_us-gaap_DebtDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DistributorToTheUSDepartmentOfDefenseMember_5762ffb1-cdc7-406e-afef-e25423c15f51_terseLabel_en-US" xlink:label="lab_efoi_DistributorToTheUSDepartmentOfDefenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor to the U.S. Department of Defense</link:label>
    <link:label id="lab_efoi_DistributorToTheUSDepartmentOfDefenseMember_label_en-US" xlink:label="lab_efoi_DistributorToTheUSDepartmentOfDefenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor To The U.S. Department Of Defense [Member]</link:label>
    <link:label id="lab_efoi_DistributorToTheUSDepartmentOfDefenseMember_documentation_en-US" xlink:label="lab_efoi_DistributorToTheUSDepartmentOfDefenseMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor To The U.S. Department Of Defense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToTheUSDepartmentOfDefenseMember" xlink:href="efoi-20230331.xsd#efoi_DistributorToTheUSDepartmentOfDefenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DistributorToTheUSDepartmentOfDefenseMember" xlink:to="lab_efoi_DistributorToTheUSDepartmentOfDefenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductsAndServicesDomain_90e35029-4792-4563-8677-f88ace7105ca_terseLabel_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:label id="lab_srt_ProductsAndServicesDomain_label_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductsAndServicesDomain" xlink:to="lab_srt_ProductsAndServicesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityShellCompany_08c09160-ea18-4b6a-99a8-4d85927dc1ab_terseLabel_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:label id="lab_dei_EntityShellCompany_label_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany" xlink:to="lab_dei_EntityShellCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_1fbfc6af-188d-4d6e-aa1d-72a20d56cacd_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued and other liabilities</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accrued Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_ee470065-539a-4a89-8779-1b09d5fdb21f_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Deferred Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:to="lab_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskTable_ea6e7579-fe0e-4a25-a769-0054eee6b8be_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk [Table]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskTable_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskTable" xlink:to="lab_us-gaap_ConcentrationRiskTable" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_f5033e20-6f55-4248-8483-277ef7d43ad9_terseLabel_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase price (USD per share)</link:label>
    <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_label_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class Of Warrant Or Right, Warrants Issued, Price Per Share</link:label>
    <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_documentation_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class Of Warrant Or Right, Warrants Issued, Price Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:href="efoi-20230331.xsd#efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:to="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_InventoryFacilityMember_b4e3d55b-3cca-4ea4-a7f9-7d44d64402c7_terseLabel_en-US" xlink:label="lab_efoi_InventoryFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Facility</link:label>
    <link:label id="lab_efoi_InventoryFacilityMember_label_en-US" xlink:label="lab_efoi_InventoryFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Facility [Member]</link:label>
    <link:label id="lab_efoi_InventoryFacilityMember_documentation_en-US" xlink:label="lab_efoi_InventoryFacilityMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Facility</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryFacilityMember" xlink:href="efoi-20230331.xsd#efoi_InventoryFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InventoryFacilityMember" xlink:to="lab_efoi_InventoryFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SalesRevenueNetMember_6815b3dc-62d0-42e9-a85c-8266c6760d64_terseLabel_en-US" xlink:label="lab_us-gaap_SalesRevenueNetMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_SalesRevenueNetMember_label_en-US" xlink:label="lab_us-gaap_SalesRevenueNetMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue Benchmark [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesRevenueNetMember" xlink:to="lab_us-gaap_SalesRevenueNetMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentPeriodEndDate_3f9ae17f-92ae-4928-9e92-352eac7f56f2_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConvertiblePreferredStockMember_618dcfb7-2d4e-4560-94b8-9f7fe8e382ac_terseLabel_en-US" xlink:label="lab_us-gaap_ConvertiblePreferredStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Series A Convertible Preferred Stock</link:label>
    <link:label id="lab_us-gaap_ConvertiblePreferredStockMember_label_en-US" xlink:label="lab_us-gaap_ConvertiblePreferredStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Convertible Preferred Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertiblePreferredStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConvertiblePreferredStockMember" xlink:to="lab_us-gaap_ConvertiblePreferredStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Assets_9956e493-76db-4d63-a1d2-c3883303bbc4_totalLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_label_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtDisclosureAbstract_9f65eb29-f666-4cd2-98bf-6671931b0d3b_terseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_DebtDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureAbstract" xlink:to="lab_us-gaap_DebtDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_3f34dde2-7b9f-4088-b063-3ab862004ca0_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplier [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplier [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:to="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_37b1381e-2e2e-4f1f-bb9c-e59aba658248_verboseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Numerator:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract" xlink:to="lab_us-gaap_EarningsPerShareAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy_5297c59d-fd36-481d-8f68-a7215cbb010d_terseLabel_en-US" xlink:label="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable</link:label>
    <link:label id="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy_label_en-US" xlink:label="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_25dcbb83-dbc6-493c-8744-bd127551750d_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis" xlink:to="lab_us-gaap_IncomeStatementLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_1a2de095-8100-4ce2-aa85-de986da83e2a_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_c9758bbe-8f45-4aca-b1a4-1a48cad73dac_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract" xlink:to="lab_us-gaap_AccountingPoliciesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_January2023TransactionsWithMeiYunGinaHuangMember_e1308560-465a-4b32-bdb5-48b6ffdf47c3_terseLabel_en-US" xlink:label="lab_efoi_January2023TransactionsWithMeiYunGinaHuangMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2023 Transactions with Mei Yun (Gina) Huang</link:label>
    <link:label id="lab_efoi_January2023TransactionsWithMeiYunGinaHuangMember_label_en-US" xlink:label="lab_efoi_January2023TransactionsWithMeiYunGinaHuangMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2023 Transactions with Mei Yun (Gina) Huang [Member]</link:label>
    <link:label id="lab_efoi_January2023TransactionsWithMeiYunGinaHuangMember_documentation_en-US" xlink:label="lab_efoi_January2023TransactionsWithMeiYunGinaHuangMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2023 Transactions with Mei Yun (Gina) Huang</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2023TransactionsWithMeiYunGinaHuangMember" xlink:href="efoi-20230331.xsd#efoi_January2023TransactionsWithMeiYunGinaHuangMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_January2023TransactionsWithMeiYunGinaHuangMember" xlink:to="lab_efoi_January2023TransactionsWithMeiYunGinaHuangMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_b1fa5a72-7a1b-447e-8e71-b38e50423f6c_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">STOCKHOLDERS' EQUITY (DEFICIT)</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract" xlink:to="lab_us-gaap_StockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_ec5e08b3-a4a5-4627-9d4c-404bf6f37f83_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid and other current assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Expense and Other Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionDomain_a39924a2-90af-4312-b530-dbc0f9d4194f_terseLabel_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption [Domain]</link:label>
    <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionDomain_label_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:to="lab_srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MajorCustomersAxis_7f37b78e-ad40-4b1f-8f40-49e6a6c3cd21_terseLabel_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Axis]</link:label>
    <link:label id="lab_srt_MajorCustomersAxis_label_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MajorCustomersAxis" xlink:to="lab_srt_MajorCustomersAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_68dbf75e-a35e-454a-848e-28af3e48cef7_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Valuation Assumptions</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedSalesCommissionCurrent_6060b856-4fed-476d-a0fc-a1096f108803_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued sales commissions</link:label>
    <link:label id="lab_us-gaap_AccruedSalesCommissionCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Sales Commission, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalesCommissionCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedSalesCommissionCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedSalesCommissionCurrent" xlink:to="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_9e0e510f-10d3-47c4-80c8-c5d4db166780_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">April 2024 to March 2025</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_21703d7c-a994-491a-a47b-69204c8db08d_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_3fc737d5-bf4e-4f0b-a9aa-5158def5ba8d_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Securities called by warrants (in shares)</link:label>
    <link:label id="lab_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_label_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Warrant or Right, Number of Securities Called by Warrants or Rights</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:to="lab_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_4a18d67c-0c5d-40b4-b73f-6db3bd995680_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unearned compensation expected to be recognized, period</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_a58d12b3-8af7-407b-97a9-d78fd6bbeaa6_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercisable at period end</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DateEnteredSixMember_38afc4b4-9f4b-4516-9e09-589dff016b56_terseLabel_en-US" xlink:label="lab_efoi_DateEnteredSixMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">December 21, 2022</link:label>
    <link:label id="lab_efoi_DateEnteredSixMember_label_en-US" xlink:label="lab_efoi_DateEnteredSixMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Date Entered Six [Member]</link:label>
    <link:label id="lab_efoi_DateEnteredSixMember_documentation_en-US" xlink:label="lab_efoi_DateEnteredSixMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Date Entered Six</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredSixMember" xlink:href="efoi-20230331.xsd#efoi_DateEnteredSixMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DateEnteredSixMember" xlink:to="lab_efoi_DateEnteredSixMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryFinishedGoods_764fcb8a-1ee5-4052-b8b3-7b7803554bf9_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoods" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finished goods</link:label>
    <link:label id="lab_us-gaap_InventoryFinishedGoods_label_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoods" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Finished Goods, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoods" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoods"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryFinishedGoods" xlink:to="lab_us-gaap_InventoryFinishedGoods" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GrossProfit_53869077-823c-4d40-b874-4f11184e07b8_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross profit (loss)</link:label>
    <link:label id="lab_us-gaap_GrossProfit_label_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Profit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit" xlink:to="lab_us-gaap_GrossProfit" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityRegistrantName_b54dc90d-d6a9-48cb-b35d-a27139388853_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues_2e9f91fe-11e0-4624-b5fa-cd95c20ee842_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion of notes to stock (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, New Issues</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_0bd5fdb2-f494-468c-969f-b10e28ebbefd_totalLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total adjustments</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SupplierConcentrationRiskMember_b1b74d3f-7766-45ef-ac32-62c653f6990c_terseLabel_en-US" xlink:label="lab_us-gaap_SupplierConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplier Concentration Risk</link:label>
    <link:label id="lab_us-gaap_SupplierConcentrationRiskMember_label_en-US" xlink:label="lab_us-gaap_SupplierConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplier Concentration Risk [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplierConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplierConcentrationRiskMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplierConcentrationRiskMember" xlink:to="lab_us-gaap_SupplierConcentrationRiskMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_555d6749-8cdd-4fb9-8488-80c39d26debe_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dividend yield</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_d9f3b0f5-105f-410b-be0e-2bbbc43a736e_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_InstitutionalInvestorMember_50b68a39-1302-41e3-a67b-420e953fc9b5_terseLabel_en-US" xlink:label="lab_efoi_InstitutionalInvestorMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Institutional Investor</link:label>
    <link:label id="lab_efoi_InstitutionalInvestorMember_label_en-US" xlink:label="lab_efoi_InstitutionalInvestorMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Institutional Investor [Member]</link:label>
    <link:label id="lab_efoi_InstitutionalInvestorMember_documentation_en-US" xlink:label="lab_efoi_InstitutionalInvestorMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Institutional Investor</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InstitutionalInvestorMember" xlink:href="efoi-20230331.xsd#efoi_InstitutionalInvestorMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InstitutionalInvestorMember" xlink:to="lab_efoi_InstitutionalInvestorMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeasesAbstract_2150fa5b-1a9c-4eba-8e08-4685e54763ec_terseLabel_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:label id="lab_us-gaap_LeasesAbstract_label_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeasesAbstract" xlink:to="lab_us-gaap_LeasesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingExpensesAbstract_8e13b568-8aa1-42bb-8479-185ad21f1867_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating expenses:</link:label>
    <link:label id="lab_us-gaap_OperatingExpensesAbstract_label_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Expenses [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpensesAbstract" xlink:to="lab_us-gaap_OperatingExpensesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_0eccec4b-743d-4d22-8bc4-a41b9e98c1a1_terseLabel_en-US" xlink:label="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment Effects on Earnings Per Share [Table]</link:label>
    <link:label id="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_label_en-US" xlink:label="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment Effects on Earnings Per Share [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:to="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_abf45cc1-83df-476f-809f-73619e60378f_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets, operating loss carry-forwards</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_StreetervilleNotePurchaseAgreementMember_49b767b8-183e-447c-994c-70e887eb5b5b_terseLabel_en-US" xlink:label="lab_efoi_StreetervilleNotePurchaseAgreementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Streeterville Note Purchase Agreement</link:label>
    <link:label id="lab_efoi_StreetervilleNotePurchaseAgreementMember_label_en-US" xlink:label="lab_efoi_StreetervilleNotePurchaseAgreementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Streeterville Note Purchase Agreement [Member]</link:label>
    <link:label id="lab_efoi_StreetervilleNotePurchaseAgreementMember_documentation_en-US" xlink:label="lab_efoi_StreetervilleNotePurchaseAgreementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Streeterville Note Purchase Agreement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_StreetervilleNotePurchaseAgreementMember" xlink:href="efoi-20230331.xsd#efoi_StreetervilleNotePurchaseAgreementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_StreetervilleNotePurchaseAgreementMember" xlink:to="lab_efoi_StreetervilleNotePurchaseAgreementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MinimumMember_f3188f29-0d0a-4b9f-8c95-353abba2f603_terseLabel_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum</link:label>
    <link:label id="lab_srt_MinimumMember_label_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MinimumMember" xlink:to="lab_srt_MinimumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_5d57a49d-22e3-4c5c-af50-9ac6fa548fad_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_89f2de81-2868-4902-a74b-6eab3dffeb55_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_395d3a06-b89f-432b-bd8f-4c18c4395f42_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, par value (USD per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryWriteDown_e2f25f80-f79d-465d-832e-f9b4c6f9a3ce_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryWriteDown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for slow-moving and obsolete inventories</link:label>
    <link:label id="lab_us-gaap_InventoryWriteDown_label_en-US" xlink:label="lab_us-gaap_InventoryWriteDown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Write-down</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWriteDown" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryWriteDown" xlink:to="lab_us-gaap_InventoryWriteDown" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_ef59aa69-1980-4d80-93a1-4d2997d8d577_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_InventoryValuationReservesSalesOfInventory_28ce0ea4-df56-4950-85d1-34b79660647d_terseLabel_en-US" xlink:label="lab_efoi_InventoryValuationReservesSalesOfInventory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reduction due to sold inventory</link:label>
    <link:label id="lab_efoi_InventoryValuationReservesSalesOfInventory_label_en-US" xlink:label="lab_efoi_InventoryValuationReservesSalesOfInventory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation Reserves, Sales Of Inventory</link:label>
    <link:label id="lab_efoi_InventoryValuationReservesSalesOfInventory_documentation_en-US" xlink:label="lab_efoi_InventoryValuationReservesSalesOfInventory" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation Reserves, Sales Of Inventory</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesSalesOfInventory" xlink:href="efoi-20230331.xsd#efoi_InventoryValuationReservesSalesOfInventory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InventoryValuationReservesSalesOfInventory" xlink:to="lab_efoi_InventoryValuationReservesSalesOfInventory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwards_3297fea3-ceb4-4225-9863-1a4cf526c2f7_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating loss carry-forwards</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwards_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwards" xlink:to="lab_us-gaap_OperatingLossCarryforwards" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_192b4eb2-6b1f-4aba-a0fb-d9e9a1469662_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFileNumber_d1c4d315-aa8e-47b1-a290-10c3a83e539d_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:label id="lab_dei_EntityFileNumber_label_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RealEstateMember_e34d60d0-aaca-4fa5-af60-b109a8260951_terseLabel_en-US" xlink:label="lab_us-gaap_RealEstateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Real Estate</link:label>
    <link:label id="lab_us-gaap_RealEstateMember_label_en-US" xlink:label="lab_us-gaap_RealEstateMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Real Estate [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RealEstateMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RealEstateMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RealEstateMember" xlink:to="lab_us-gaap_RealEstateMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_453a49fe-3442-40b6-ae83-3f893350f386_terseLabel_en-US" xlink:label="lab_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Leases</link:label>
    <link:label id="lab_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_label_en-US" xlink:label="lab_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Assets And Liabilities, Lessee [Abstract]</link:label>
    <link:label id="lab_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_documentation_en-US" xlink:label="lab_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Assets And Liabilities, Lessee</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:href="efoi-20230331.xsd#efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:to="lab_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome_fee15712-058b-4ca6-8872-8b6e69efb95e_totalLabel_en-US" xlink:label="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease cost, net</link:label>
    <link:label id="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome_label_en-US" xlink:label="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Cost, Net Of Sublease Income</link:label>
    <link:label id="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome_documentation_en-US" xlink:label="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Cost, Net Of Sublease Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:href="efoi-20230331.xsd#efoi_OperatingLeaseCostNetOfSubleaseIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:to="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_CommercialBuildingSystemsProviderMember_fed9d7d5-dcbf-4d47-9eab-8fda2757d471_terseLabel_en-US" xlink:label="lab_efoi_CommercialBuildingSystemsProviderMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial Building Systems Provider</link:label>
    <link:label id="lab_efoi_CommercialBuildingSystemsProviderMember_label_en-US" xlink:label="lab_efoi_CommercialBuildingSystemsProviderMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial Building Systems Provider [Member]</link:label>
    <link:label id="lab_efoi_CommercialBuildingSystemsProviderMember_documentation_en-US" xlink:label="lab_efoi_CommercialBuildingSystemsProviderMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial Building Systems Provider</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommercialBuildingSystemsProviderMember" xlink:href="efoi-20230331.xsd#efoi_CommercialBuildingSystemsProviderMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_CommercialBuildingSystemsProviderMember" xlink:to="lab_efoi_CommercialBuildingSystemsProviderMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_e2321c4e-bd59-4cc5-bece-1387243808b9_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product development</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_CommercialProductsMember_61a66228-909e-48c8-96a2-d2a0e839b5b4_terseLabel_en-US" xlink:label="lab_efoi_CommercialProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial</link:label>
    <link:label id="lab_efoi_CommercialProductsMember_label_en-US" xlink:label="lab_efoi_CommercialProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial Products [Member]</link:label>
    <link:label id="lab_efoi_CommercialProductsMember_documentation_en-US" xlink:label="lab_efoi_CommercialProductsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial Products</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommercialProductsMember" xlink:href="efoi-20230331.xsd#efoi_CommercialProductsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_CommercialProductsMember" xlink:to="lab_efoi_CommercialProductsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquipmentMember_480d05ea-f626-48bf-8d24-2aecdaa60348_terseLabel_en-US" xlink:label="lab_us-gaap_EquipmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equipment</link:label>
    <link:label id="lab_us-gaap_EquipmentMember_label_en-US" xlink:label="lab_us-gaap_EquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equipment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquipmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquipmentMember" xlink:to="lab_us-gaap_EquipmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_ee3a0f8c-e426-4368-a029-fb22e56ad239_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_0f6d578c-063c-497e-94cd-93216812715f_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units</link:label>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:to="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromLinesOfCredit_16f08040-7526-4cc7-bfbe-5ccd31560be1_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromLinesOfCredit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net payments on proceeds from the credit line borrowings - Credit Facilities</link:label>
    <link:label id="lab_us-gaap_ProceedsFromLinesOfCredit_label_en-US" xlink:label="lab_us-gaap_ProceedsFromLinesOfCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Lines of Credit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLinesOfCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromLinesOfCredit" xlink:to="lab_us-gaap_ProceedsFromLinesOfCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_f9d98484-db11-467f-9980-70a4506933d3_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock upon the exercise of warrants (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_7849da53-e2a3-4ce8-8686-0fd662b5acf7_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_0a418695-1c20-4f04-9aad-b096b4d3dc09_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Leases</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Rolling Maturity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:to="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_4720d3a1-5e13-496f-941b-fd95492ef709_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested and expected to vest at period end (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UseOfEstimates_2e07462b-0190-4eed-a6e1-c5f5922c4744_terseLabel_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of estimates</link:label>
    <link:label id="lab_us-gaap_UseOfEstimates_label_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UseOfEstimates" xlink:to="lab_us-gaap_UseOfEstimates" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PreFundedWarrantsMember_cc0dbaec-1445-42e6-bdc6-118e57717e07_terseLabel_en-US" xlink:label="lab_efoi_PreFundedWarrantsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-Funded Warrants</link:label>
    <link:label id="lab_efoi_PreFundedWarrantsMember_label_en-US" xlink:label="lab_efoi_PreFundedWarrantsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-Funded Warrants [Member]</link:label>
    <link:label id="lab_efoi_PreFundedWarrantsMember_documentation_en-US" xlink:label="lab_efoi_PreFundedWarrantsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-Funded Warrants</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PreFundedWarrantsMember" xlink:href="efoi-20230331.xsd#efoi_PreFundedWarrantsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PreFundedWarrantsMember" xlink:to="lab_efoi_PreFundedWarrantsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryRawMaterials_20dbe0e1-8e0e-4027-ab4b-f913cb03b53a_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryRawMaterials" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Raw materials</link:label>
    <link:label id="lab_us-gaap_InventoryRawMaterials_label_en-US" xlink:label="lab_us-gaap_InventoryRawMaterials" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Raw Materials, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterials" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterials"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryRawMaterials" xlink:to="lab_us-gaap_InventoryRawMaterials" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_98d7874c-bbae-4086-adb1-54495207ae73_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LondonInterbankOfferedRateLIBORMember_8abd665c-aa54-40f1-bf1a-2598c0a30a8e_terseLabel_en-US" xlink:label="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">London Interbank Offered Rate (LIBOR)</link:label>
    <link:label id="lab_us-gaap_LondonInterbankOfferedRateLIBORMember_label_en-US" xlink:label="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">London Interbank Offered Rate (LIBOR) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:to="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskPercentage1_79fd65cb-9220-4dfe-9fcc-95413ed66587_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration risk (less than for geographic concentration risk)</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskPercentage1_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskPercentage1" xlink:to="lab_us-gaap_ConcentrationRiskPercentage1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Revenues_83dde248-c3c1-4155-9fc9-50a665db1d9a_terseLabel_en-US" xlink:label="lab_us-gaap_Revenues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net sales</link:label>
    <link:label id="lab_us-gaap_Revenues_443ae24a-1fb9-4cc2-a118-f086147e091d_verboseLabel_en-US" xlink:label="lab_us-gaap_Revenues" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total net sales</link:label>
    <link:label id="lab_us-gaap_Revenues_label_en-US" xlink:label="lab_us-gaap_Revenues" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenues</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Revenues" xlink:to="lab_us-gaap_Revenues" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_EarningsPerShareBasicAndDilutedEPSAbstract_47f8825f-828b-4889-a632-7fa196f6c1ff_terseLabel_en-US" xlink:label="lab_efoi_EarningsPerShareBasicAndDilutedEPSAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss per common share - basic and diluted</link:label>
    <link:label id="lab_efoi_EarningsPerShareBasicAndDilutedEPSAbstract_bbd85088-7fa2-458b-89dd-3104ce2e4126_verboseLabel_en-US" xlink:label="lab_efoi_EarningsPerShareBasicAndDilutedEPSAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Denominator:</link:label>
    <link:label id="lab_efoi_EarningsPerShareBasicAndDilutedEPSAbstract_label_en-US" xlink:label="lab_efoi_EarningsPerShareBasicAndDilutedEPSAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic and Diluted EPS [Abstract]</link:label>
    <link:label id="lab_efoi_EarningsPerShareBasicAndDilutedEPSAbstract_documentation_en-US" xlink:label="lab_efoi_EarningsPerShareBasicAndDilutedEPSAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic and Diluted EPS</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EarningsPerShareBasicAndDilutedEPSAbstract" xlink:href="efoi-20230331.xsd#efoi_EarningsPerShareBasicAndDilutedEPSAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_EarningsPerShareBasicAndDilutedEPSAbstract" xlink:to="lab_efoi_EarningsPerShareBasicAndDilutedEPSAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_d0ef3fe8-1033-4322-8bfc-130607089db9_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_January2023SanderElectronicsPrivatePlacementMember_02361a02-75ee-41cb-82c6-7414b0794116_terseLabel_en-US" xlink:label="lab_efoi_January2023SanderElectronicsPrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2023 Sander Electronics Private Placement</link:label>
    <link:label id="lab_efoi_January2023SanderElectronicsPrivatePlacementMember_label_en-US" xlink:label="lab_efoi_January2023SanderElectronicsPrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2023 Sander Electronics Private Placement [Member]</link:label>
    <link:label id="lab_efoi_January2023SanderElectronicsPrivatePlacementMember_documentation_en-US" xlink:label="lab_efoi_January2023SanderElectronicsPrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2023 Sander Electronics Private Placement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2023SanderElectronicsPrivatePlacementMember" xlink:href="efoi-20230331.xsd#efoi_January2023SanderElectronicsPrivatePlacementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_January2023SanderElectronicsPrivatePlacementMember" xlink:to="lab_efoi_January2023SanderElectronicsPrivatePlacementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DueToRelatedPartiesCurrentAndNoncurrent_f9231c6e-1906-4ada-9bca-ffe9728bac37_terseLabel_en-US" xlink:label="lab_us-gaap_DueToRelatedPartiesCurrentAndNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Due to related parties</link:label>
    <link:label id="lab_us-gaap_DueToRelatedPartiesCurrentAndNoncurrent_label_en-US" xlink:label="lab_us-gaap_DueToRelatedPartiesCurrentAndNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Due to Related Parties</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DueToRelatedPartiesCurrentAndNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueToRelatedPartiesCurrentAndNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DueToRelatedPartiesCurrentAndNoncurrent" xlink:to="lab_us-gaap_DueToRelatedPartiesCurrentAndNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_January2020EquityOfferingPrivatePlacementMember_fa32008c-3c5e-4aa0-8d6f-6fa7852b5e55_terseLabel_en-US" xlink:label="lab_efoi_January2020EquityOfferingPrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Jan. 2020 Placement Agent Warrants</link:label>
    <link:label id="lab_efoi_January2020EquityOfferingPrivatePlacementMember_label_en-US" xlink:label="lab_efoi_January2020EquityOfferingPrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Equity Offering, Private Placement [Member]</link:label>
    <link:label id="lab_efoi_January2020EquityOfferingPrivatePlacementMember_documentation_en-US" xlink:label="lab_efoi_January2020EquityOfferingPrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Equity Offering, Private Placement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingPrivatePlacementMember" xlink:href="efoi-20230331.xsd#efoi_January2020EquityOfferingPrivatePlacementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_January2020EquityOfferingPrivatePlacementMember" xlink:to="lab_efoi_January2020EquityOfferingPrivatePlacementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityDomain_54f1d375-667b-4baa-8326-e999e25a76f0_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:label id="lab_us-gaap_CreditFacilityDomain_label_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityDomain" xlink:to="lab_us-gaap_CreditFacilityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_5aebdbb3-86dd-4138-bd87-a6583007893c_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise price of common stock (USD per share)</link:label>
    <link:label id="lab_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_label_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Warrant or Right, Exercise Price of Warrants or Rights</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:to="lab_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_TopMilitaryCustomersMember_922a4582-f105-4cb7-8809-8217cfa2d784_terseLabel_en-US" xlink:label="lab_efoi_TopMilitaryCustomersMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Top Military Customers</link:label>
    <link:label id="lab_efoi_TopMilitaryCustomersMember_label_en-US" xlink:label="lab_efoi_TopMilitaryCustomersMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Top Military Customers [Member]</link:label>
    <link:label id="lab_efoi_TopMilitaryCustomersMember_documentation_en-US" xlink:label="lab_efoi_TopMilitaryCustomersMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Top Military Customers</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TopMilitaryCustomersMember" xlink:href="efoi-20230331.xsd#efoi_TopMilitaryCustomersMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_TopMilitaryCustomersMember" xlink:to="lab_efoi_TopMilitaryCustomersMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableMember_060a2935-aea0-443e-ba7a-f630cea4dca2_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableMember_label_en-US" xlink:label="lab_us-gaap_AccountsPayableMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableMember" xlink:to="lab_us-gaap_AccountsPayableMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_January2020InstitutionalInvestorMember_96d595de-f722-4fe3-8701-efa5587184cf_terseLabel_en-US" xlink:label="lab_efoi_January2020InstitutionalInvestorMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Jan. 2020 Investor Warrants</link:label>
    <link:label id="lab_efoi_January2020InstitutionalInvestorMember_label_en-US" xlink:label="lab_efoi_January2020InstitutionalInvestorMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Institutional Investor [Member]</link:label>
    <link:label id="lab_efoi_January2020InstitutionalInvestorMember_documentation_en-US" xlink:label="lab_efoi_January2020InstitutionalInvestorMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Institutional Investor</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020InstitutionalInvestorMember" xlink:href="efoi-20230331.xsd#efoi_January2020InstitutionalInvestorMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_January2020InstitutionalInvestorMember" xlink:to="lab_efoi_January2020InstitutionalInvestorMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_628f6187-0d9c-459e-8ad5-fc106e939f98_terseLabel_en-US" xlink:label="lab_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Leases</link:label>
    <link:label id="lab_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_label_en-US" xlink:label="lab_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Assets And Liabilities, Lessee [Abstract]</link:label>
    <link:label id="lab_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_documentation_en-US" xlink:label="lab_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Assets And Liabilities, Lessee</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:href="efoi-20230331.xsd#efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:to="lab_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskTypeDomain_b035105d-103c-4b64-8fdc-1066b1b0e3aa_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskTypeDomain_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain" xlink:to="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquity_d57ed4fb-5b4f-4b28-b468-e5a934912bd9_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total stockholders' equity (deficit)</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_068d0c66-2b35-4f2d-9361-df25ec762c12_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_d7eee373-bf00-44cb-bc66-4ea09a21380f_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_426e1cfc-2156-4a97-ba01-6da1cebd5151_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="lab_us-gaap_StockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_DirectorMember_bec69c37-53ff-40b1-ab12-c82ad96fe424_terseLabel_en-US" xlink:label="lab_srt_DirectorMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Director</link:label>
    <link:label id="lab_srt_DirectorMember_label_en-US" xlink:label="lab_srt_DirectorMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Director [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_DirectorMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_DirectorMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_DirectorMember" xlink:to="lab_srt_DirectorMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityLineItems_8fafb534-f3bc-47bc-a141-90f871dec726_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility [Line Items]</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityLineItems_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems" xlink:to="lab_us-gaap_LineOfCreditFacilityLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_dc1883e6-9f89-4de0-bc06-88232d826f06_terseLabel_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_label_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInteractiveDataCurrent" xlink:to="lab_dei_EntityInteractiveDataCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_786a76e2-db7d-43b7-ba0b-1794ba856741_verboseLabel_en-US" xlink:label="lab_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock issued in exchange transactions (in shares)</link:label>
    <link:label id="lab_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_40e8b539-6183-4188-96f5-9c7ac8da458d_terseLabel_en-US" xlink:label="lab_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of common stock (in shares)</link:label>
    <link:label id="lab_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_label_en-US" xlink:label="lab_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of Stock, Number of Shares Issued in Transaction</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:to="lab_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_1cdb11c4-57a8-4cb7-975a-dac3879e5210_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_ee62dd22-445d-4f23-a2c0-b1c754086eaf_terseLabel_en-US" xlink:label="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity</link:label>
    <link:label id="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_label_en-US" xlink:label="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shareholders' Equity and Share-Based Payments [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:to="lab_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualCurrent_2de4cb73-86d8-4b5b-a05d-c2f79ef8c5c3_terseLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued warranty reserve</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualCurrent_35ddc8e9-72e6-47c7-bd33-bd7cb12f2037_periodStartLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at beginning of period</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualCurrent_37b27a97-5a21-4ee3-86ec-71f23006cd11_periodEndLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued warranty reserve at end of period</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualCurrent_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Product Warranty Accrual, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_161b7a16-f8cb-478b-9b4e-3b2fa554d37d_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes in operating assets and liabilities (sources / (uses) of cash):</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_GainLossFromEmployeeRetentionTaxCredit_9e6515b4-6c75-4f36-ba69-9ce847020509_negatedTerseLabel_en-US" xlink:label="lab_efoi_GainLossFromEmployeeRetentionTaxCredit" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other income</link:label>
    <link:label id="lab_efoi_GainLossFromEmployeeRetentionTaxCredit_label_en-US" xlink:label="lab_efoi_GainLossFromEmployeeRetentionTaxCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">(Gain) Loss From Employee Retention Tax Credit</link:label>
    <link:label id="lab_efoi_GainLossFromEmployeeRetentionTaxCredit_documentation_en-US" xlink:label="lab_efoi_GainLossFromEmployeeRetentionTaxCredit" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">(Gain) Loss From Employee Retention Tax Credit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossFromEmployeeRetentionTaxCredit" xlink:href="efoi-20230331.xsd#efoi_GainLossFromEmployeeRetentionTaxCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_GainLossFromEmployeeRetentionTaxCredit" xlink:to="lab_efoi_GainLossFromEmployeeRetentionTaxCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_CommonStockMinimumBidPrice_c6030f80-a27b-43c8-aaf0-e0e2b0c304e0_terseLabel_en-US" xlink:label="lab_efoi_CommonStockMinimumBidPrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, minimum bid price (USD per share)</link:label>
    <link:label id="lab_efoi_CommonStockMinimumBidPrice_label_en-US" xlink:label="lab_efoi_CommonStockMinimumBidPrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Minimum Bid Price</link:label>
    <link:label id="lab_efoi_CommonStockMinimumBidPrice_documentation_en-US" xlink:label="lab_efoi_CommonStockMinimumBidPrice" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Minimum Bid Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommonStockMinimumBidPrice" xlink:href="efoi-20230331.xsd#efoi_CommonStockMinimumBidPrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_CommonStockMinimumBidPrice" xlink:to="lab_efoi_CommonStockMinimumBidPrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsMember_c7a4a85a-728f-4901-b6eb-12d4f6b6955e_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Deficit</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsMember_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember" xlink:to="lab_us-gaap_RetainedEarningsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_June2022PrivatePlacementMember_c56d4805-be5f-468b-a50a-43ceb9a262c7_terseLabel_en-US" xlink:label="lab_efoi_June2022PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">June 2022 Private Placement</link:label>
    <link:label id="lab_efoi_June2022PrivatePlacementMember_label_en-US" xlink:label="lab_efoi_June2022PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">June 2022 Private Placement [Member]</link:label>
    <link:label id="lab_efoi_June2022PrivatePlacementMember_documentation_en-US" xlink:label="lab_efoi_June2022PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">June 2022 Private Placement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_June2022PrivatePlacementMember" xlink:href="efoi-20230331.xsd#efoi_June2022PrivatePlacementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_June2022PrivatePlacementMember" xlink:to="lab_efoi_June2022PrivatePlacementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_February2023PrivatePlacementMember_edf32eea-35c7-4f2e-babe-1e9cd00cb355_terseLabel_en-US" xlink:label="lab_efoi_February2023PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">February 2023 Private Placement</link:label>
    <link:label id="lab_efoi_February2023PrivatePlacementMember_label_en-US" xlink:label="lab_efoi_February2023PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">February 2023 Private Placement [Member]</link:label>
    <link:label id="lab_efoi_February2023PrivatePlacementMember_documentation_en-US" xlink:label="lab_efoi_February2023PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">February 2023 Private Placement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_February2023PrivatePlacementMember" xlink:href="efoi-20230331.xsd#efoi_February2023PrivatePlacementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_February2023PrivatePlacementMember" xlink:to="lab_efoi_February2023PrivatePlacementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockMember_d6ab49f8-d3bb-438d-a39d-30764113877b_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_label_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember" xlink:to="lab_us-gaap_CommonStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_5221856e-7f23-471e-8ca0-aa09d67bdda4_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Stock-based Compensation Expense</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_6079ebf4-d199-454b-ac0a-3a655cf4a9a3_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Components of Lease Cost and Supplemental Cash Flow Information</link:label>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCostTableTextBlock" xlink:to="lab_us-gaap_LeaseCostTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementClassOfStockAxis_74c08426-cb59-471e-809c-fb9b3871a766_terseLabel_en-US" xlink:label="lab_us-gaap_StatementClassOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementClassOfStockAxis_label_en-US" xlink:label="lab_us-gaap_StatementClassOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementClassOfStockAxis" xlink:to="lab_us-gaap_StatementClassOfStockAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsLineItems_844de978-9b5d-4a4b-a764-e47a1b6c257b_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Line Items]</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsLineItems_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwardsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems" xlink:to="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementTable_e3b6003c-c1e8-4e6c-8c55-ed90d97dc5c5_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:label id="lab_us-gaap_StatementTable_label_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable" xlink:to="lab_us-gaap_StatementTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage_7ac2a4f2-380e-43bf-b66d-c14da9f8a377_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt instrument, interest rate, effective percentage</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Interest Rate, Effective Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:to="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentQuarterlyReport_0920533b-3aa8-42ff-ab2f-e0f0f991975c_terseLabel_en-US" xlink:label="lab_dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:label id="lab_dei_DocumentQuarterlyReport_label_en-US" xlink:label="lab_dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentQuarterlyReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentQuarterlyReport" xlink:to="lab_dei_DocumentQuarterlyReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_7b7b2723-36ec-4485-94ea-348e3b4ca360_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current assets:</link:label>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract" xlink:to="lab_us-gaap_AssetsCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_3d6640e3-607a-4436-9e81-3a8e8769adc5_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities, net of current portion</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeAxis_93036f5b-87c6-4408-b58c-4c93a9992a9b_terseLabel_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:label id="lab_srt_RangeAxis_label_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeAxis" xlink:to="lab_srt_RangeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RelatedPartyTransactionAxis_d915d137-1f30-4f5f-afdd-a39a9e384a81_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party Transaction [Axis]</link:label>
    <link:label id="lab_us-gaap_RelatedPartyTransactionAxis_label_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party Transaction [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionAxis" xlink:to="lab_us-gaap_RelatedPartyTransactionAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_ac5b1c4d-24c4-4fff-aecd-2e4ba40a9e15_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leasehold improvements</link:label>
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_label_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseholdImprovementsMember" xlink:to="lab_us-gaap_LeaseholdImprovementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_17a0c7dd-4885-411e-a05b-ef9a8211fbf1_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated deficit</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssued_d2d90b77-e71c-4d6c-825c-8957a0f5c775_terseLabel_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Warrants issued (in shares)</link:label>
    <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssued_label_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class Of Warrant Or Right, Warrants Issued</link:label>
    <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssued_documentation_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class Of Warrant Or Right, Warrants Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:href="efoi-20230331.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:to="lab_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_A2021StreetervilleNoteMember_1e8118a3-5cf1-4056-ab15-4d53ebe749e5_terseLabel_en-US" xlink:label="lab_efoi_A2021StreetervilleNoteMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021 Streeterville Note</link:label>
    <link:label id="lab_efoi_A2021StreetervilleNoteMember_label_en-US" xlink:label="lab_efoi_A2021StreetervilleNoteMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021 Streeterville Note [Member]</link:label>
    <link:label id="lab_efoi_A2021StreetervilleNoteMember_documentation_en-US" xlink:label="lab_efoi_A2021StreetervilleNoteMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021 Streeterville Note</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A2021StreetervilleNoteMember" xlink:href="efoi-20230331.xsd#efoi_A2021StreetervilleNoteMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_A2021StreetervilleNoteMember" xlink:to="lab_efoi_A2021StreetervilleNoteMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_4760f794-dbcf-4c07-a9cc-fec668a689b2_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trade accounts receivable, less allowances of $58 and $26, respectively</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_1ebfe9a3-f0a2-4d2e-9f32-1faca6d8e217_totalLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Accounts Receivable</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_4bf81750-d76f-48bb-ba2e-24965682bd70_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis" xlink:to="lab_us-gaap_StatementEquityComponentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ScenarioUnspecifiedDomain_50fa9a0a-35ea-4815-a033-b7d50a8a19ef_terseLabel_en-US" xlink:label="lab_srt_ScenarioUnspecifiedDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scenario [Domain]</link:label>
    <link:label id="lab_srt_ScenarioUnspecifiedDomain_label_en-US" xlink:label="lab_srt_ScenarioUnspecifiedDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scenario [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioUnspecifiedDomain" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ScenarioUnspecifiedDomain" xlink:to="lab_srt_ScenarioUnspecifiedDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_de517011-028b-4d5b-96ab-66a3274471a9_verboseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfPrivatePlacement" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate gross proceeds amount</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_b2d30f1a-4086-46d8-ac65-280c25021af7_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfPrivatePlacement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from issuance of private placement</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfPrivatePlacement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance of Private Placement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfPrivatePlacement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfPrivatePlacement" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ContractWithCustomerPaymentTerms_889f34c0-b628-4f27-be8d-e41af258e539_terseLabel_en-US" xlink:label="lab_efoi_ContractWithCustomerPaymentTerms" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with customer, payment terms</link:label>
    <link:label id="lab_efoi_ContractWithCustomerPaymentTerms_label_en-US" xlink:label="lab_efoi_ContractWithCustomerPaymentTerms" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer, Payment Terms</link:label>
    <link:label id="lab_efoi_ContractWithCustomerPaymentTerms_documentation_en-US" xlink:label="lab_efoi_ContractWithCustomerPaymentTerms" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer, Payment Terms</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ContractWithCustomerPaymentTerms" xlink:href="efoi-20230331.xsd#efoi_ContractWithCustomerPaymentTerms"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ContractWithCustomerPaymentTerms" xlink:to="lab_efoi_ContractWithCustomerPaymentTerms" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_92f8ac0d-09f6-4f76-bc6a-4cb387aeff66_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercisable at period end (USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_TLinDirectorsMember_23393b6a-f713-4466-90f4-56c85504e8bb_terseLabel_en-US" xlink:label="lab_efoi_TLinDirectorsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">T. Lin</link:label>
    <link:label id="lab_efoi_TLinDirectorsMember_label_en-US" xlink:label="lab_efoi_TLinDirectorsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">T. Lin Directors [Member]</link:label>
    <link:label id="lab_efoi_TLinDirectorsMember_documentation_en-US" xlink:label="lab_efoi_TLinDirectorsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">T. Lin Directors</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TLinDirectorsMember" xlink:href="efoi-20230331.xsd#efoi_TLinDirectorsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_TLinDirectorsMember" xlink:to="lab_efoi_TLinDirectorsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalYearFocus_59e56db2-a63f-4f4b-9b6f-24fb285e558b_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalYearFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus" xlink:to="lab_dei_DocumentFiscalYearFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_19079bc3-97c7-49c9-9908-bc69c9f00cf6_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from operating activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementLineItems_49196627-8321-4bf3-a061-dda383ccf1bb_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label id="lab_us-gaap_StatementLineItems_label_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems" xlink:to="lab_us-gaap_StatementLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeasePrincipalPayments_b727a1bf-6fd4-4203-ab54-8e08cc632cb9_negatedLabel_en-US" xlink:label="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Principal payments under finance lease obligations</link:label>
    <link:label id="lab_us-gaap_FinanceLeasePrincipalPayments_c93eb9af-6d79-4d01-82f0-f406ea05daf9_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing cash flows from finance leases</link:label>
    <link:label id="lab_us-gaap_FinanceLeasePrincipalPayments_label_en-US" xlink:label="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Principal Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeasePrincipalPayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeasePrincipalPayments" xlink:to="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_bce7f746-a9f8-4d74-914d-a1ea3ad40811_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">April 2025 to March 2026</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateDomain_91b880fc-78b8-4494-9ac7-fbad82279d19_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:label id="lab_us-gaap_VariableRateDomain_label_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateDomain" xlink:to="lab_us-gaap_VariableRateDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_a37945c5-62ed-4e80-8856-e1d96d70de44_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, general, and administrative</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetGross_cfc46cef-0f9e-4796-ad59-df644aa7cb80_terseLabel_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment</link:label>
    <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetGross_label_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Right-Of-Use Asset, Gross</link:label>
    <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetGross_documentation_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetGross" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Right-Of-Use Asset, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseRightOfUseAssetGross" xlink:href="efoi-20230331.xsd#efoi_FinanceLeaseRightOfUseAssetGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_FinanceLeaseRightOfUseAssetGross" xlink:to="lab_efoi_FinanceLeaseRightOfUseAssetGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_e83d16b5-6d2c-434b-b45c-10413993ed22_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, right-of-use asset</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_5a82254e-99bc-417f-bbf0-80d66072039e_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease right-of-use assets</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_98950edd-d31e-4ce6-8ec2-93f6ad245c04_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Loss</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_d4428d85-1c54-4fdb-801c-9e8b82663994_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested and expected to vest at period end (USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentTransitionReport_ff12f501-b706-4833-b07c-2fb404fd575f_terseLabel_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:label id="lab_dei_DocumentTransitionReport_label_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport" xlink:to="lab_dei_DocumentTransitionReport" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_c1774553-1574-47be-957a-24cd02308447_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_c8a0b5ae-ef7a-4f87-98d6-a8e2bf859bf5_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Option Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_8e5b2dc0-3044-48f1-a2e6-718ab783fcd4_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss from operations</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="lab_us-gaap_OperatingIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_SecondAmendmentToInventoryFacilityMember_3206756d-f596-4179-8b34-25c0d6b5b2db_terseLabel_en-US" xlink:label="lab_efoi_SecondAmendmentToInventoryFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Second Amendment To Inventory Facility</link:label>
    <link:label id="lab_efoi_SecondAmendmentToInventoryFacilityMember_label_en-US" xlink:label="lab_efoi_SecondAmendmentToInventoryFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Second Amendment To Inventory Facility [Member]</link:label>
    <link:label id="lab_efoi_SecondAmendmentToInventoryFacilityMember_documentation_en-US" xlink:label="lab_efoi_SecondAmendmentToInventoryFacilityMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Second Amendment To Inventory Facility</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_SecondAmendmentToInventoryFacilityMember" xlink:href="efoi-20230331.xsd#efoi_SecondAmendmentToInventoryFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_SecondAmendmentToInventoryFacilityMember" xlink:to="lab_efoi_SecondAmendmentToInventoryFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_3df7c1af-9393-4465-a90e-6305346e1415_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInInventories" xlink:to="lab_us-gaap_IncreaseDecreaseInInventories" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_84a2a1f3-354e-4fd5-b78e-12778f9739c2_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recent adopted accounting standard</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDepositOtherAssets_0589c171-b530-4f35-9b69-a385c66cdeef_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term deposits</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDepositOtherAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Deposit Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDepositOtherAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_59089cd5-fde7-4eb8-b147-bb68576c9e6d_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid and other assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_f5db8d2d-3abd-477f-9557-0c1efba2c2f6_terseLabel_en-US" xlink:label="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ERTC expected receivable</link:label>
    <link:label id="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_label_en-US" xlink:label="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payroll Tax Credit, Employee Retention Credit Under The CARES Act, Current</link:label>
    <link:label id="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_documentation_en-US" xlink:label="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payroll Tax Credit, Employee Retention Credit Under The CARES Act, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" xlink:href="efoi-20230331.xsd#efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" xlink:to="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StateAndLocalJurisdictionMember_d2458c92-61da-48da-b32d-6e0c977833a7_terseLabel_en-US" xlink:label="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State and Local Jurisdiction</link:label>
    <link:label id="lab_us-gaap_StateAndLocalJurisdictionMember_label_en-US" xlink:label="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State and Local Jurisdiction [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StateAndLocalJurisdictionMember" xlink:to="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_83dee7cf-79a6-4066-a5cd-83144290cd0c_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding" xlink:to="lab_us-gaap_CommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_d0a64307-c939-4a9a-8951-37b0d7e4935b_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_EstimatedProceedsFromIssuanceOfWarrants_5ee38774-dbd2-41cd-8218-edcb34aa5e27_terseLabel_en-US" xlink:label="lab_efoi_EstimatedProceedsFromIssuanceOfWarrants" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated proceeds from issuance of warrants</link:label>
    <link:label id="lab_efoi_EstimatedProceedsFromIssuanceOfWarrants_label_en-US" xlink:label="lab_efoi_EstimatedProceedsFromIssuanceOfWarrants" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated Proceeds From Issuance Of Warrants</link:label>
    <link:label id="lab_efoi_EstimatedProceedsFromIssuanceOfWarrants_documentation_en-US" xlink:label="lab_efoi_EstimatedProceedsFromIssuanceOfWarrants" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated Proceeds From Issuance Of Warrants</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants" xlink:href="efoi-20230331.xsd#efoi_EstimatedProceedsFromIssuanceOfWarrants"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants" xlink:to="lab_efoi_EstimatedProceedsFromIssuanceOfWarrants" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_618105ca-f30e-49a2-b05a-a0f9836d2a6c_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to reconcile net loss to net cash used in operating activities:</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_SegmentGeographicalDomain_b683a294-13d2-484a-877a-8aa9cb4495db_terseLabel_en-US" xlink:label="lab_srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:label id="lab_srt_SegmentGeographicalDomain_label_en-US" xlink:label="lab_srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_SegmentGeographicalDomain" xlink:to="lab_srt_SegmentGeographicalDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_1c2b7ff7-54e3-4688-8c2f-491d5085e096_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Warranty Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Product Warranty Liability [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_7afa88ae-fa8c-4971-8799-a015800bc21c_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, par value (USD per share)</link:label>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_f2b035b5-070c-421b-9ec1-71a7d9161e43_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="lab_us-gaap_IncomeStatementAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_e39089ec-3caa-4aab-90dd-09db34b4d30e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_dfd13475-96f4-4b40-b88c-4b3129e0e66f_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_a4ccf305-58ba-448b-aaf4-e0a887c25172_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus" xlink:to="lab_dei_DocumentFiscalPeriodFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_2ffcc17e-48c0-46eb-b956-83b22dba2cde_terseLabel_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption, Adjusted Balance</link:label>
    <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_label_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption, Adjusted Balance [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember" xlink:to="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_e794f3b9-d08b-40bf-a42f-9262b3af5226_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of sales</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Goods and Services Sold</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt_43e87afd-aae7-49dc-be07-c9d3988ebf90_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from issuance of subordinated convertible promissory notes</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance of Subordinated Long-Term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_6c7ab0e7-4ac5-4b45-b1bf-9abd98750e23_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_f16cc4bb-0a60-48c7-b884-e974b963b2e6_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_61497182-2dd8-4ad9-b0e7-357834ee1f7e_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Inventory</link:label>
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_b99a113d-9fb5-4e0d-a57c-e4950bc91966_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected life of options (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NotesPayableCurrent_137301c7-437f-4847-a3c8-f39048ba30ef_terseLabel_en-US" xlink:label="lab_us-gaap_NotesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Promissory notes payable, net of discounts and loan origination fees</link:label>
    <link:label id="lab_us-gaap_NotesPayableCurrent_label_en-US" xlink:label="lab_us-gaap_NotesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Notes Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NotesPayableCurrent" xlink:to="lab_us-gaap_NotesPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_TwentyTwentyTwoPromissoryNoteMember_cc29e577-b9c5-4e6a-96d4-b80f8aa0e90e_terseLabel_en-US" xlink:label="lab_efoi_TwentyTwentyTwoPromissoryNoteMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Twenty Twenty Two Promissory Note</link:label>
    <link:label id="lab_efoi_TwentyTwentyTwoPromissoryNoteMember_label_en-US" xlink:label="lab_efoi_TwentyTwentyTwoPromissoryNoteMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Twenty Twenty Two Promissory Note [Member]</link:label>
    <link:label id="lab_efoi_TwentyTwentyTwoPromissoryNoteMember_documentation_en-US" xlink:label="lab_efoi_TwentyTwentyTwoPromissoryNoteMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Twenty Twenty Two Promissory Note</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TwentyTwentyTwoPromissoryNoteMember" xlink:href="efoi-20230331.xsd#efoi_TwentyTwentyTwoPromissoryNoteMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_TwentyTwentyTwoPromissoryNoteMember" xlink:to="lab_efoi_TwentyTwentyTwoPromissoryNoteMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableMember_cf120f34-2720-4ac9-838e-86c38e31693b_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableMember_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableMember" xlink:to="lab_us-gaap_AccountsReceivableMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredFinanceCostsGross_87847940-de79-4140-a18c-43298876f99c_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unamortized debt issuance costs</link:label>
    <link:label id="lab_us-gaap_DeferredFinanceCostsGross_label_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Issuance Costs, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFinanceCostsGross" xlink:to="lab_us-gaap_DeferredFinanceCostsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_97064123-f15c-44aa-a864-11f1316b75fb_terseLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to existing warranties</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockValue_6a1c8fcf-f3b4-4b95-a726-0043d2a5db8f_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, par value $0.0001 per share: Authorized: 50,000,000 shares at March 31, 2023 and December 31, 2022. Issued and outstanding: 19,243,610 at March 31, 2023 and 9,848,438 at December 31, 2022</link:label>
    <link:label id="lab_us-gaap_CommonStockValue_label_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValue" xlink:to="lab_us-gaap_CommonStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentNameDomain_f98d49cc-18fe-48ec-9add-3908c849e398_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentNameDomain_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentNameDomain" xlink:to="lab_us-gaap_DebtInstrumentNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockMember_049559db-5b0a-4ac4-ac25-7070e8053a23_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock</link:label>
    <link:label id="lab_us-gaap_PreferredStockMember_label_en-US" xlink:label="lab_us-gaap_PreferredStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockMember" xlink:to="lab_us-gaap_PreferredStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_94c4bcb6-d11e-4826-be6e-54156d21cacb_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1_df93ed23-6651-4d0d-bd4d-76a3e9b5a410_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion rate (USD per share)</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Convertible, Conversion Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:to="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConvertibleDebtMember_a94bbeec-98ce-4e2f-a9e4-a7df37961096_terseLabel_en-US" xlink:label="lab_us-gaap_ConvertibleDebtMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Convertible Debt</link:label>
    <link:label id="lab_us-gaap_ConvertibleDebtMember_label_en-US" xlink:label="lab_us-gaap_ConvertibleDebtMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Convertible Debt [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleDebtMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConvertibleDebtMember" xlink:to="lab_us-gaap_ConvertibleDebtMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_820f22fe-3d5b-4ce9-83b1-9b9d6c3b34f9_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesAuthorized" xlink:to="lab_us-gaap_PreferredStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNonoperatingExpense_c3c598e3-7880-4c2a-b320-8b74f2d270a2_terseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other expenses</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingExpense_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Nonoperating Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingExpense" xlink:to="lab_us-gaap_OtherNonoperatingExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_05e40268-8d3d-4f07-be5f-6eec18a3bd19_negatedTerseLabel_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowances for depreciation</link:label>
    <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_label_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Right-Of-Use Asset, Accumulated Depreciation</link:label>
    <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_documentation_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Right-Of-Use Asset, Accumulated Depreciation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:href="efoi-20230331.xsd#efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:to="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_4b16b277-7f69-48f2-8fcf-59a5bd06e187_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash beginning of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_c09713df-20c5-474c-8a45-0970a5f647e0_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash end of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_2ea222de-c129-43fe-828f-f8c22d8d06d7_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DateEnteredThreeMember_1de70ccf-0baf-436d-b250-fca5c5760d2b_terseLabel_en-US" xlink:label="lab_efoi_DateEnteredThreeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">November 4, 2022</link:label>
    <link:label id="lab_efoi_DateEnteredThreeMember_label_en-US" xlink:label="lab_efoi_DateEnteredThreeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Date Entered Three [Member]</link:label>
    <link:label id="lab_efoi_DateEnteredThreeMember_documentation_en-US" xlink:label="lab_efoi_DateEnteredThreeMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Date Entered Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredThreeMember" xlink:href="efoi-20230331.xsd#efoi_DateEnteredThreeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DateEnteredThreeMember" xlink:to="lab_efoi_DateEnteredThreeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_02c4d869-f6a6-4040-8134-eaa896f39fa5_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_ab3648ba-fd8b-447b-a30c-694376a1817d_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, issued (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued" xlink:to="lab_us-gaap_CommonStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_1b180ce6-7c08-434c-b6fd-67fa59f77836_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested and expected to vest at period end</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskLineItems_b254b8a8-7715-4914-a8bf-d8396df1b598_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk [Line Items]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskLineItems_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskLineItems" xlink:to="lab_us-gaap_ConcentrationRiskLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DateEnteredFiveMember_dc6b052a-709d-46fb-823c-7bedf316de0c_terseLabel_en-US" xlink:label="lab_efoi_DateEnteredFiveMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">December 6, 2022</link:label>
    <link:label id="lab_efoi_DateEnteredFiveMember_label_en-US" xlink:label="lab_efoi_DateEnteredFiveMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Date Entered Five [Member]</link:label>
    <link:label id="lab_efoi_DateEnteredFiveMember_documentation_en-US" xlink:label="lab_efoi_DateEnteredFiveMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Date Entered Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredFiveMember" xlink:href="efoi-20230331.xsd#efoi_DateEnteredFiveMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DateEnteredFiveMember" xlink:to="lab_efoi_DateEnteredFiveMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_812e99fb-37e4-46e5-8db5-e62b85d29fc0_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain" xlink:to="lab_us-gaap_IncomeStatementLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DateEnteredOneMember_cd3eae31-2d7a-4f38-b7f9-49fabbc2435b_terseLabel_en-US" xlink:label="lab_efoi_DateEnteredOneMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">September 16 2022</link:label>
    <link:label id="lab_efoi_DateEnteredOneMember_label_en-US" xlink:label="lab_efoi_DateEnteredOneMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Date Entered One [Member]</link:label>
    <link:label id="lab_efoi_DateEnteredOneMember_documentation_en-US" xlink:label="lab_efoi_DateEnteredOneMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Date Entered One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredOneMember" xlink:href="efoi-20230331.xsd#efoi_DateEnteredOneMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DateEnteredOneMember" xlink:to="lab_efoi_DateEnteredOneMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AmendmentFlag_20a62483-62f5-451c-ad0d-e0b8047579bc_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_da81391d-5f4e-4d13-af9a-4db842abc289_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash used in investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseCost_a229ae8f-4e32-4acb-a1d2-66b5f865f905_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease cost</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseCost_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseCost" xlink:to="lab_us-gaap_OperatingLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentFaceAmount_c08f054b-9bd1-4ea5-870e-616ff33f0f4b_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentFaceAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Principal amount</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentFaceAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentFaceAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Face Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentFaceAmount" xlink:to="lab_us-gaap_DebtInstrumentFaceAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_e35453dc-7da3-4ac0-874b-d2a7a73d1d2b_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Employee Stock Purchase Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCurrentReportingStatus_914dcbc0-2fb0-4558-bddf-bd0af715c409_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:label id="lab_dei_EntityCurrentReportingStatus_label_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus" xlink:to="lab_dei_EntityCurrentReportingStatus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_bad00e7f-f5f7-4096-bb2c-70b82a929e2f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Remaining Contractual Life (in years)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_d5f588a6-2cb0-42d8-affd-22fa18ab9738_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercisable at period end (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_JHuangDirectorMember_9f7c81b1-209d-4d8b-acf3-e0b2dcd12627_terseLabel_en-US" xlink:label="lab_efoi_JHuangDirectorMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">J. Huang</link:label>
    <link:label id="lab_efoi_JHuangDirectorMember_label_en-US" xlink:label="lab_efoi_JHuangDirectorMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">J. Huang Director [Member]</link:label>
    <link:label id="lab_efoi_JHuangDirectorMember_documentation_en-US" xlink:label="lab_efoi_JHuangDirectorMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">J. Huang Director</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_JHuangDirectorMember" xlink:href="efoi-20230331.xsd#efoi_JHuangDirectorMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_JHuangDirectorMember" xlink:to="lab_efoi_JHuangDirectorMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RepaymentsOfNotesPayable_ba2f35da-ad8d-429b-98e4-8c1fb4705e64_negatedLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfNotesPayable" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayments of notes payable</link:label>
    <link:label id="lab_us-gaap_RepaymentsOfNotesPayable_label_en-US" xlink:label="lab_us-gaap_RepaymentsOfNotesPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayments of Notes Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfNotesPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfNotesPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfNotesPayable" xlink:to="lab_us-gaap_RepaymentsOfNotesPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_IncreaseDecreaseInProvisionForWarranties_26841209-6e4e-49c2-a11e-a9e632016661_terseLabel_en-US" xlink:label="lab_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for warranties</link:label>
    <link:label id="lab_efoi_IncreaseDecreaseInProvisionForWarranties_label_en-US" xlink:label="lab_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Provision For Warranties</link:label>
    <link:label id="lab_efoi_IncreaseDecreaseInProvisionForWarranties_documentation_en-US" xlink:label="lab_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Provision For Warranties</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:href="efoi-20230331.xsd#efoi_IncreaseDecreaseInProvisionForWarranties"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:to="lab_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_GHuangDirectorMember_4356aee9-20be-4ffe-b125-951e4f1b10b0_terseLabel_en-US" xlink:label="lab_efoi_GHuangDirectorMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">G. Huang</link:label>
    <link:label id="lab_efoi_GHuangDirectorMember_label_en-US" xlink:label="lab_efoi_GHuangDirectorMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">G. Huang Director [Member]</link:label>
    <link:label id="lab_efoi_GHuangDirectorMember_documentation_en-US" xlink:label="lab_efoi_GHuangDirectorMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">G. Huang Director</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GHuangDirectorMember" xlink:href="efoi-20230331.xsd#efoi_GHuangDirectorMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_GHuangDirectorMember" xlink:to="lab_efoi_GHuangDirectorMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_95c320ce-e9be-4659-997a-49cc7a7e290f_terseLabel_en-US" xlink:label="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Votes equal to the number of shares of common stock convertible</link:label>
    <link:label id="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_label_en-US" xlink:label="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percentage Of Series A Preferred Stock Eligible To Vote</link:label>
    <link:label id="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_documentation_en-US" xlink:label="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percentage Of Series A Preferred Stock Eligible To Vote</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:href="efoi-20230331.xsd#efoi_PercentageOfSeriesAPreferredStockEligibleToVote"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:to="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued_71b90439-09e4-40db-aaca-bc64526d85ac_terseLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Warranty accruals for current period sales</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Product Warranty Accrual, Increase for Warranties Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualWarrantiesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_c9025c8f-ef82-4f52-86f5-a0702ee1910f_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Employee Stock Purchase Plans</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_9f01dcf2-7ef1-41c5-88cf-78abb5fa823c_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at beginning of period (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_4dcbb04d-0c62-416a-bfe7-3565bfcdc326_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at end of period (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_InventoryReserveRollForward_fdf421d4-e7f3-40d6-9a72-9b6a89ffde24_terseLabel_en-US" xlink:label="lab_efoi_InventoryReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Reserve [Roll Forward]</link:label>
    <link:label id="lab_efoi_InventoryReserveRollForward_label_en-US" xlink:label="lab_efoi_InventoryReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Reserve [Roll Forward]</link:label>
    <link:label id="lab_efoi_InventoryReserveRollForward_documentation_en-US" xlink:label="lab_efoi_InventoryReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Reserve</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryReserveRollForward" xlink:href="efoi-20230331.xsd#efoi_InventoryReserveRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InventoryReserveRollForward" xlink:to="lab_efoi_InventoryReserveRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_TotalExpendituresMember_6b8ea27c-21e5-4d69-a6ef-ace902ea254d_terseLabel_en-US" xlink:label="lab_efoi_TotalExpendituresMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Expenditures</link:label>
    <link:label id="lab_efoi_TotalExpendituresMember_label_en-US" xlink:label="lab_efoi_TotalExpendituresMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Expenditures [Member]</link:label>
    <link:label id="lab_efoi_TotalExpendituresMember_documentation_en-US" xlink:label="lab_efoi_TotalExpendituresMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Expenditures</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TotalExpendituresMember" xlink:href="efoi-20230331.xsd#efoi_TotalExpendituresMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_TotalExpendituresMember" xlink:to="lab_efoi_TotalExpendituresMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_b8fc8310-99a6-4e9b-b074-395ab0220c4f_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_4da31eb2-1f5f-4fd2-8f38-a53d8bdb2180_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_b74e4ab8-180f-431f-8a3c-af670d64b6c6_terseLabel_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of presentation</link:label>
    <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Accounting, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAbstract_c8bda56e-34f7-43d9-917a-28fd0a9b7f33_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">LIABILITIES</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAbstract" xlink:to="lab_us-gaap_LiabilitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeasePayments_d0c42260-d18b-4310-9aad-177d5efcea3f_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating cash flows from operating leases</link:label>
    <link:label id="lab_us-gaap_OperatingLeasePayments_label_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasePayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasePayments" xlink:to="lab_us-gaap_OperatingLeasePayments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RepaymentsOfLongTermDebt_57db7edd-60c1-4ea3-b2fc-e09a2f711d4a_terseLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayments of long-term debt</link:label>
    <link:label id="lab_us-gaap_RepaymentsOfLongTermDebt_label_en-US" xlink:label="lab_us-gaap_RepaymentsOfLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayments of Long-Term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfLongTermDebt" xlink:to="lab_us-gaap_RepaymentsOfLongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_873e85b5-7451-483d-884e-704b1ae4379f_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Option</link:label>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Option [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOptionMember" xlink:to="lab_us-gaap_EmployeeStockOptionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_96e419ee-4253-4b9c-a883-da3f19ab6a03_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected volatility</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock_61ec6ec3-05cb-4b4d-ab6b-839f5fdcd387_terseLabel_en-US" xlink:label="lab_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Income</link:label>
    <link:label id="lab_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Income and Other Expense Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:to="lab_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_eec6172a-929b-4ea3-b17f-c00e52059fe3_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trade accounts receivable, less allowances</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_a6b531cd-b5cf-4b08-ab9b-12e1baaa923c_negatedLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: Allowance for Doubtful Accounts</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SaleOfStockPricePerShare_131bf14d-a61f-4067-a79a-c042fd9a8156_terseLabel_en-US" xlink:label="lab_us-gaap_SaleOfStockPricePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of common stock (USD per share)</link:label>
    <link:label id="lab_us-gaap_SaleOfStockPricePerShare_label_en-US" xlink:label="lab_us-gaap_SaleOfStockPricePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of Stock, Price Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SaleOfStockPricePerShare" xlink:to="lab_us-gaap_SaleOfStockPricePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_8179f1c6-648e-47ea-9a38-befa04dde786_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized" xlink:to="lab_us-gaap_CommonStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyLiabilityLineItems_a31b5b50-cb02-4e08-942a-f83cc52f45bd_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyLiabilityLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranty Liability [Line Items]</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyLiabilityLineItems_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyLiabilityLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranty Liability [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyLiabilityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="lab_us-gaap_ProductWarrantyLiabilityLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfWarrantOrRightAxis_dd7cf151-af10-4e3a-88ee-387a2afa5f02_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Warrant or Right [Axis]</link:label>
    <link:label id="lab_us-gaap_ClassOfWarrantOrRightAxis_label_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Warrant or Right [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis" xlink:to="lab_us-gaap_ClassOfWarrantOrRightAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingExpenses_8be04870-82a6-4272-9bdb-78610b03a776_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total operating expenses</link:label>
    <link:label id="lab_us-gaap_OperatingExpenses_label_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Expenses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpenses" xlink:to="lab_us-gaap_OperatingExpenses" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals_72b48e65-b759-4d42-8a46-db42ff9ee0f8_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Right to defer mandatory redemption, number of deferrals</link:label>
    <link:label id="lab_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals_label_en-US" xlink:label="lab_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Right To Defer Mandatory Redemption, Number Of Deferrals</link:label>
    <link:label id="lab_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Right To Defer Mandatory Redemption, Number Of Deferrals</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" xlink:to="lab_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MaximumMember_d41d55b6-7f21-4c76-b636-e7372e385ccf_terseLabel_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum</link:label>
    <link:label id="lab_srt_MaximumMember_label_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MaximumMember" xlink:to="lab_srt_MaximumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_a96987bd-2f98-4185-9894-fd1917456fd3_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Breakdown of Product Net Sales</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customers by Products and Services [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:to="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_c59dd8dd-0f41-48f3-9160-fdf20f33a207_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold_740afd4d-e25c-4351-9cb8-f01d3b185e32_terseLabel_en-US" xlink:label="lab_efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of consecutive days for bid</link:label>
    <link:label id="lab_efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold_label_en-US" xlink:label="lab_efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number Of Consecutive Days For Bid Price, Below Threshold</link:label>
    <link:label id="lab_efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold_documentation_en-US" xlink:label="lab_efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number Of Consecutive Days For Bid Price, Below Threshold</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold" xlink:href="efoi-20230331.xsd#efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold" xlink:to="lab_efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_fab3f955-e02c-41c5-a5bc-1cf0e3e0854f_verboseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrent_2eea9579-cc93-44d7-9da2-ddbdcbc42a2a_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrent_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="lab_us-gaap_AssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent_4c82ac0d-3af9-404b-ab71-7e4b36b5b5a1_terseLabel_en-US" xlink:label="lab_efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivable for claimed ERTC</link:label>
    <link:label id="lab_efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent_label_en-US" xlink:label="lab_efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivable For Claimed Employee Retention Tax Credit, Current</link:label>
    <link:label id="lab_efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent_documentation_en-US" xlink:label="lab_efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivable For Claimed Employee Retention Tax Credit, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent" xlink:href="efoi-20230331.xsd#efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent" xlink:to="lab_efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_397cec50-3e00-4019-b74d-f9462df298a8_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">April 2023 to March 2024</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Next Rolling 12 Months</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntitySmallBusiness_4adb7796-13e7-47d5-aa40-7c64f6de7561_terseLabel_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:label id="lab_dei_EntitySmallBusiness_label_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness" xlink:to="lab_dei_EntitySmallBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_656f61d8-e537-459e-8822-b6639a2f5be0_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Stockholders' Equity Note, Warrants or Rights</link:label>
    <link:label id="lab_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Stockholders' Equity Note, Warrants or Rights [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:to="lab_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharesOutstanding_7bfe6664-09aa-43fa-89e8-b8e462a454f8_periodStartLabel_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_SharesOutstanding_5a6f5287-4e5b-4f2f-ae6b-7a656e94c114_periodEndLabel_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_SharesOutstanding_label_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharesOutstanding" xlink:to="lab_us-gaap_SharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityTable_1f3c1fd0-3722-4b47-aca3-27e5920e7a0a_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityTable_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityTable" xlink:to="lab_us-gaap_LineOfCreditFacilityTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsTable_87e12191-0848-4f1b-95f0-cfa72d491096_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Table]</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsTable_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwardsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable" xlink:to="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_e290d3bf-2da4-475f-a168-e247c19147b1_terseLabel_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Presentation and Summary of Significant Accounting Policies</link:label>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_label_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Significant Accounting Policies [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_15eddd3e-c48f-46f8-ae69-fd49e222989b_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unearned stock-based compensation</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_a7488e84-19fb-4605-aef6-0088c18f23fd_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Options</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_26d45327-c5fc-43ad-af3b-2fe18074c306_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DepositsAssetsCurrent_7941b4c0-c3eb-4c88-8b50-febe794774ec_terseLabel_en-US" xlink:label="lab_us-gaap_DepositsAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term deposits</link:label>
    <link:label id="lab_us-gaap_DepositsAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_DepositsAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deposits Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepositsAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepositsAssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DepositsAssetsCurrent" xlink:to="lab_us-gaap_DepositsAssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_380d7a5e-3ced-4dbf-86a8-f1a78cf8fd5b_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percent of accounts receivable used as borrowing capacity</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Borrowing Capacity, Value Of Accounts Receivable, Percent</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Borrowing Capacity, Value Of Accounts Receivable, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:href="efoi-20230331.xsd#efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:to="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AmortizationOfDebtDiscountPremium_36c29b8a-e152-4c47-bb0e-4ddac070d6c9_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfDebtDiscountPremium" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of loan discounts and origination fees</link:label>
    <link:label id="lab_us-gaap_AmortizationOfDebtDiscountPremium_label_en-US" xlink:label="lab_us-gaap_AmortizationOfDebtDiscountPremium" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Debt Discount (Premium)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfDebtDiscountPremium" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfDebtDiscountPremium"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfDebtDiscountPremium" xlink:to="lab_us-gaap_AmortizationOfDebtDiscountPremium" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_c1b4903a-1535-4510-96a4-1d914129c2ae_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">April 2026 to March 2027</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubleaseIncome_76ac95b5-ba86-4f6c-81cf-3a0cffedc082_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_SubleaseIncome" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sub-lease income</link:label>
    <link:label id="lab_us-gaap_SubleaseIncome_label_en-US" xlink:label="lab_us-gaap_SubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sublease Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubleaseIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubleaseIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubleaseIncome" xlink:to="lab_us-gaap_SubleaseIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_619dd3fa-899f-4a82-ae5b-6e63550abe8f_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_8c1f6ea5-ce42-4bf7-b869-f1a2d6f41e26_terseLabel_en-US" xlink:label="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount paid related to expenses for registered direct offering and concurrent private placement</link:label>
    <link:label id="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_label_en-US" xlink:label="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments Related To Expenses For Registered Direct Offering And Concurrent Private Placement</link:label>
    <link:label id="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_documentation_en-US" xlink:label="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments Related To Expenses For Registered Direct Offering And Concurrent Private Placement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:href="efoi-20230331.xsd#efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:to="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShortTermBorrowings_e4af50a5-bf06-46ad-b4ad-fb0bfd070186_terseLabel_en-US" xlink:label="lab_us-gaap_ShortTermBorrowings" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term debt</link:label>
    <link:label id="lab_us-gaap_ShortTermBorrowings_label_en-US" xlink:label="lab_us-gaap_ShortTermBorrowings" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-Term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermBorrowings" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortTermBorrowings" xlink:to="lab_us-gaap_ShortTermBorrowings" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_a6f5ac5f-c425-4b47-bad7-50a72f70f287_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_313c213c-3691-410d-a3d0-b51ce35e4ee0_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentLineItems_68459cd7-26ea-407f-9ea8-60aa18ccc350_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentLineItems_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentLineItems" xlink:to="lab_us-gaap_DebtInstrumentLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ToolingMember_ca2de46e-308e-4649-ba45-642eb4c39509_terseLabel_en-US" xlink:label="lab_efoi_ToolingMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tooling</link:label>
    <link:label id="lab_efoi_ToolingMember_label_en-US" xlink:label="lab_efoi_ToolingMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tooling [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ToolingMember" xlink:href="efoi-20230331.xsd#efoi_ToolingMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ToolingMember" xlink:to="lab_efoi_ToolingMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_13ead718-cbf4-4ead-b743-d95627e021af_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="lab_us-gaap_OperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNonoperatingIncome_d021ba7f-bb73-44c4-8fc5-f10db37f17e1_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncome" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other income</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncome_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Nonoperating Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncome" xlink:to="lab_us-gaap_OtherNonoperatingIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_62c7675e-6bd7-4d63-958c-4f3f8c88a0b9_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, general, and administrative</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expenses [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DebtInstrumentNumberOfCreditFacilities_a8b4b09e-359c-4daa-8f57-e248d6485107_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentNumberOfCreditFacilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of debt financing facilities</link:label>
    <link:label id="lab_efoi_DebtInstrumentNumberOfCreditFacilities_label_en-US" xlink:label="lab_efoi_DebtInstrumentNumberOfCreditFacilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Number Of Credit Facilities</link:label>
    <link:label id="lab_efoi_DebtInstrumentNumberOfCreditFacilities_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentNumberOfCreditFacilities" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Number Of Credit Facilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentNumberOfCreditFacilities" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentNumberOfCreditFacilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentNumberOfCreditFacilities" xlink:to="lab_efoi_DebtInstrumentNumberOfCreditFacilities" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DateEnteredSevenMember_47ae38d5-e411-4d5c-8c62-a0faa359368a_terseLabel_en-US" xlink:label="lab_efoi_DateEnteredSevenMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">December 31, 2022</link:label>
    <link:label id="lab_efoi_DateEnteredSevenMember_label_en-US" xlink:label="lab_efoi_DateEnteredSevenMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Date Entered Seven [Member]</link:label>
    <link:label id="lab_efoi_DateEnteredSevenMember_documentation_en-US" xlink:label="lab_efoi_DateEnteredSevenMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Date Entered Seven</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredSevenMember" xlink:href="efoi-20230331.xsd#efoi_DateEnteredSevenMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DateEnteredSevenMember" xlink:to="lab_efoi_DateEnteredSevenMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_458e7e11-68b6-4d78-a13d-a5da8525c9a3_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplier [Axis]</link:label>
    <link:label id="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_label_en-US" xlink:label="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplier [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:to="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_2d434f1f-df91-426e-a03a-92deb032f30e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_MMMProductsMember_8aa8306b-862b-45a9-aad6-65c333e09a5b_terseLabel_en-US" xlink:label="lab_efoi_MMMProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MMM products</link:label>
    <link:label id="lab_efoi_MMMProductsMember_label_en-US" xlink:label="lab_efoi_MMMProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MMM Products [Member]</link:label>
    <link:label id="lab_efoi_MMMProductsMember_documentation_en-US" xlink:label="lab_efoi_MMMProductsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MMM Products</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_MMMProductsMember" xlink:href="efoi-20230331.xsd#efoi_MMMProductsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_MMMProductsMember" xlink:to="lab_efoi_MMMProductsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ShipbuilderForUSNavyMember_03b2577c-4e2d-4338-9b5d-655fe96d94db_terseLabel_en-US" xlink:label="lab_efoi_ShipbuilderForUSNavyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shipbuilder for U.S. Navy</link:label>
    <link:label id="lab_efoi_ShipbuilderForUSNavyMember_label_en-US" xlink:label="lab_efoi_ShipbuilderForUSNavyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shipbuilder For U.S. Navy [Member]</link:label>
    <link:label id="lab_efoi_ShipbuilderForUSNavyMember_documentation_en-US" xlink:label="lab_efoi_ShipbuilderForUSNavyMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shipbuilder For U.S. Navy</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ShipbuilderForUSNavyMember" xlink:href="efoi-20230331.xsd#efoi_ShipbuilderForUSNavyMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ShipbuilderForUSNavyMember" xlink:to="lab_efoi_ShipbuilderForUSNavyMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryNet_d8866fed-89c8-4261-92c1-f1848e0469d5_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories, net</link:label>
    <link:label id="lab_us-gaap_InventoryNet_b7f57369-54a9-4632-8f6b-f630df6990f6_totalLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories, net</link:label>
    <link:label id="lab_us-gaap_InventoryNet_label_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet" xlink:to="lab_us-gaap_InventoryNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_3900b5d7-6ac8-4f21-9c50-936e460a56e4_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent" xlink:to="lab_us-gaap_AccountsPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_7684fc9c-709c-454a-ab59-19d384faecd2_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:to="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentUnamortizedDiscount_fe2441ef-e822-4aee-a50f-3db3ace81a3c_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedDiscount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issue discount</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentUnamortizedDiscount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedDiscount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Unamortized Discount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentUnamortizedDiscount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentUnamortizedDiscount" xlink:to="lab_us-gaap_DebtInstrumentUnamortizedDiscount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_b1d58734-1769-4d8a-a2cb-6c2687f8344b_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss, basic (USD per share)</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations, Per Basic Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_4025da9c-af9e-47dc-b2bd-bb995e388890_negatedLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: accumulated depreciation</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WriteOffOfDeferredDebtIssuanceCost_2fba98a3-d458-4408-aa12-dd0f3480c894_terseLabel_en-US" xlink:label="lab_us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Write off of remaining issuance costs</link:label>
    <link:label id="lab_us-gaap_WriteOffOfDeferredDebtIssuanceCost_label_en-US" xlink:label="lab_us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Write off of Deferred Debt Issuance Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WriteOffOfDeferredDebtIssuanceCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:to="lab_us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NatureOfOperations_c3a1113c-4dbc-4ee9-81fb-4f4b265ad700_terseLabel_en-US" xlink:label="lab_us-gaap_NatureOfOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nature of Operations</link:label>
    <link:label id="lab_us-gaap_NatureOfOperations_label_en-US" xlink:label="lab_us-gaap_NatureOfOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nature of Operations [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NatureOfOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NatureOfOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NatureOfOperations" xlink:to="lab_us-gaap_NatureOfOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WarrantMember_58beb968-acbf-4766-9f40-ce82416b0611_terseLabel_en-US" xlink:label="lab_us-gaap_WarrantMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Warrants</link:label>
    <link:label id="lab_us-gaap_WarrantMember_label_en-US" xlink:label="lab_us-gaap_WarrantMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Warrant [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WarrantMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WarrantMember" xlink:to="lab_us-gaap_WarrantMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFilerCategory_e9438c6d-a066-465f-bfc5-8ee75209582b_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label id="lab_dei_EntityFilerCategory_label_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_96413d6d-a9e6-4d65-8951-dec2fad764e8_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_5ee0b0ea-2fc1-4bba-83c4-e5370691b7de_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ReceivablesFacilityMember_43297373-61ec-4a46-bee4-02ee28a8f796_terseLabel_en-US" xlink:label="lab_efoi_ReceivablesFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivables Facility</link:label>
    <link:label id="lab_efoi_ReceivablesFacilityMember_label_en-US" xlink:label="lab_efoi_ReceivablesFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivables Facility [Member]</link:label>
    <link:label id="lab_efoi_ReceivablesFacilityMember_documentation_en-US" xlink:label="lab_efoi_ReceivablesFacilityMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivables Facility</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ReceivablesFacilityMember" xlink:href="efoi-20230331.xsd#efoi_ReceivablesFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ReceivablesFacilityMember" xlink:to="lab_efoi_ReceivablesFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_ac708885-90b2-4062-8b3c-714fc2e3daef_terseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_label_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_InventoryValuationReservesRawMaterials_0cb406b3-1853-433b-a01d-2e9a0026cd29_negatedPeriodStartLabel_en-US" xlink:label="lab_efoi_InventoryValuationReservesRawMaterials" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_efoi_InventoryValuationReservesRawMaterials_0b05ff3d-ddea-4222-bc93-87b1418b0735_negatedPeriodEndLabel_en-US" xlink:label="lab_efoi_InventoryValuationReservesRawMaterials" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reserves for excess, obsolete, and slow-moving inventories</link:label>
    <link:label id="lab_efoi_InventoryValuationReservesRawMaterials_label_en-US" xlink:label="lab_efoi_InventoryValuationReservesRawMaterials" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation Reserves, Raw Materials</link:label>
    <link:label id="lab_efoi_InventoryValuationReservesRawMaterials_documentation_en-US" xlink:label="lab_efoi_InventoryValuationReservesRawMaterials" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation Reserves, Raw Materials</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesRawMaterials" xlink:href="efoi-20230331.xsd#efoi_InventoryValuationReservesRawMaterials"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InventoryValuationReservesRawMaterials" xlink:to="lab_efoi_InventoryValuationReservesRawMaterials" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SecurityExchangeName_6f2f768f-59ba-4f97-abb4-7a1bfd984bee_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_68c0e69d-b520-44c1-a206-bd4e6322c9a6_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at beginning of period (USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3018d06b-1b03-451d-bb32-d92c47b290ce_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at end of period (USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfWarrantOrRightDomain_2c7d70f7-67ce-4df4-a9cb-1a0b13b46d7c_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Warrant or Right [Domain]</link:label>
    <link:label id="lab_us-gaap_ClassOfWarrantOrRightDomain_label_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Warrant or Right [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain" xlink:to="lab_us-gaap_ClassOfWarrantOrRightDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_9edcd970-fe7b-4087-b0f7-588103994e8c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Remaining Contractual Life (in years)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Additional Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockValue_90c9d316-1264-44c1-8ba9-5bf297074781_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, par value $0.0001 per share: Authorized: 5,000,000 shares (3,300,000 designated as Series A Convertible Preferred Stock) at March 31, 2023 and December 31, 2022. Issued and outstanding: 876,447 at March 31, 2023 and December 31, 2022</link:label>
    <link:label id="lab_us-gaap_PreferredStockValue_label_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockValue" xlink:to="lab_us-gaap_PreferredStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_A2022StreetervilleNoteMember_c71e3d5c-c5ae-4d37-8ed9-8aaada7e715b_terseLabel_en-US" xlink:label="lab_efoi_A2022StreetervilleNoteMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022 Streeterville Note</link:label>
    <link:label id="lab_efoi_A2022StreetervilleNoteMember_label_en-US" xlink:label="lab_efoi_A2022StreetervilleNoteMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022 Streeterville Note [Member]</link:label>
    <link:label id="lab_efoi_A2022StreetervilleNoteMember_documentation_en-US" xlink:label="lab_efoi_A2022StreetervilleNoteMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022 Streeterville Note</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A2022StreetervilleNoteMember" xlink:href="efoi-20230331.xsd#efoi_A2022StreetervilleNoteMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_A2022StreetervilleNoteMember" xlink:to="lab_efoi_A2022StreetervilleNoteMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange_7d173d9d-5b70-4318-b4e2-37e0224f3b63_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percentage increase if delisted from Nasdaq</link:label>
    <link:label id="lab_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange_label_en-US" xlink:label="lab_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Percentage Increase If Delisted From Security Exchange</link:label>
    <link:label id="lab_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Percentage Increase If Delisted From Security Exchange</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" xlink:to="lab_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_692969ba-f463-4c12-9067-a53463077476_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShortTermDebtTypeDomain_dac4e0ab-a730-4666-8d13-1ad6c0d3b0f8_terseLabel_en-US" xlink:label="lab_us-gaap_ShortTermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-Term Debt, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ShortTermDebtTypeDomain_label_en-US" xlink:label="lab_us-gaap_ShortTermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-Term Debt, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermDebtTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortTermDebtTypeDomain" xlink:to="lab_us-gaap_ShortTermDebtTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_3a16fdca-73cc-4b20-b6a4-61362cd2af19_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion of notes to preferred stock (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Conversion of Convertible Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfOperatingLeasedAssetsTable_8e6b817a-592d-44e2-a991-b6d17e2b3b2f_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfOperatingLeasedAssetsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Operating Leased Assets [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfOperatingLeasedAssetsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfOperatingLeasedAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Operating Leased Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfOperatingLeasedAssetsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfOperatingLeasedAssetsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfOperatingLeasedAssetsTable" xlink:to="lab_us-gaap_ScheduleOfOperatingLeasedAssetsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CoverAbstract_33096285-fd96-40b3-8f80-c67c7c89eae8_terseLabel_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:label id="lab_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentTable_30e1794e-c808-452e-b59a-3e57712be379_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentTable_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-Term Debt Instruments [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentTable" xlink:to="lab_us-gaap_DebtInstrumentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_December2021PrivatePlacementMember_949ce2d9-8c50-402f-a98d-44ee42d3e431_terseLabel_en-US" xlink:label="lab_efoi_December2021PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">December 2021 Private Placement</link:label>
    <link:label id="lab_efoi_December2021PrivatePlacementMember_label_en-US" xlink:label="lab_efoi_December2021PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">December 2021 Private Placement [Member]</link:label>
    <link:label id="lab_efoi_December2021PrivatePlacementMember_documentation_en-US" xlink:label="lab_efoi_December2021PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">December 2021 Private Placement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_December2021PrivatePlacementMember" xlink:href="efoi-20230331.xsd#efoi_December2021PrivatePlacementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_December2021PrivatePlacementMember" xlink:to="lab_efoi_December2021PrivatePlacementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable_b4782664-c48f-4046-8902-294c55fb1690_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable, allowance for credit loss</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NotesPayableRelatedPartiesClassifiedCurrent_1d66c1c6-cae0-4a4e-b095-c5163bf21b5c_terseLabel_en-US" xlink:label="lab_us-gaap_NotesPayableRelatedPartiesClassifiedCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related party promissory notes payable</link:label>
    <link:label id="lab_us-gaap_NotesPayableRelatedPartiesClassifiedCurrent_label_en-US" xlink:label="lab_us-gaap_NotesPayableRelatedPartiesClassifiedCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Notes Payable, Related Parties, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesPayableRelatedPartiesClassifiedCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableRelatedPartiesClassifiedCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NotesPayableRelatedPartiesClassifiedCurrent" xlink:to="lab_us-gaap_NotesPayableRelatedPartiesClassifiedCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PaymentsForClearingFees_91f94d54-67a1-40d2-99b6-fabedf2954f1_terseLabel_en-US" xlink:label="lab_efoi_PaymentsForClearingFees" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount paid for clearing fees</link:label>
    <link:label id="lab_efoi_PaymentsForClearingFees_label_en-US" xlink:label="lab_efoi_PaymentsForClearingFees" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments For Clearing Fees</link:label>
    <link:label id="lab_efoi_PaymentsForClearingFees_documentation_en-US" xlink:label="lab_efoi_PaymentsForClearingFees" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments For Clearing Fees</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForClearingFees" xlink:href="efoi-20230331.xsd#efoi_PaymentsForClearingFees"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PaymentsForClearingFees" xlink:to="lab_efoi_PaymentsForClearingFees" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_1c6ef489-36a8-4225-a775-df974d181458_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customers by Products and Services [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customers by Products and Services [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ScenarioForecastMember_efce8e59-9a29-48ff-9dc4-0a62f36d1674_terseLabel_en-US" xlink:label="lab_srt_ScenarioForecastMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scenario, Forecast</link:label>
    <link:label id="lab_srt_ScenarioForecastMember_label_en-US" xlink:label="lab_srt_ScenarioForecastMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forecast [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioForecastMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ScenarioForecastMember" xlink:to="lab_srt_ScenarioForecastMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_22ae46d8-a163-4f41-922c-936de832e1f0_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Risk-free interest rate</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_ebfd31f4-7ecb-47d1-b3dd-5ac0801420aa_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities and stockholders' equity (deficit)</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentTerm_48a5a31e-ffe4-4497-bfb6-65d8cf6ac107_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Term</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentTerm_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTerm" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentTerm" xlink:to="lab_us-gaap_DebtInstrumentTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongtermDebtTypeAxis_e473b8e2-ce5b-46a6-9a95-ada93e02148e_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_LongtermDebtTypeAxis_label_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeAxis" xlink:to="lab_us-gaap_LongtermDebtTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_0329e124-9568-4ab1-bead-17130fa96473_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party [Axis]</link:label>
    <link:label id="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_label_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NonUsMember_e16db42f-d939-4431-a23b-3ca718cc66fc_terseLabel_en-US" xlink:label="lab_us-gaap_NonUsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Countries Outside of the United States</link:label>
    <link:label id="lab_us-gaap_NonUsMember_label_en-US" xlink:label="lab_us-gaap_NonUsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-US [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonUsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonUsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonUsMember" xlink:to="lab_us-gaap_NonUsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StandardProductWarrantyPolicy_cdd3fc5a-50c0-48e2-97c1-fe10b77ffa51_terseLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product warranties</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyPolicy_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Product Warranty, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyPolicy" xlink:to="lab_us-gaap_StandardProductWarrantyPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_1de2c154-8933-488a-9074-59ba8b52f128_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_e3018f26-2cce-49cb-b402-2de8ff96aeb0_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">April 2027 to March 2028</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_3f55bacf-00d2-4f15-90da-49e1fb5d2467_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate" xlink:to="lab_dei_CurrentFiscalYearEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_RepaymentOfRemainingLongTermDebt_30811a58-e573-478b-9d6a-3a46de2e8981_terseLabel_en-US" xlink:label="lab_efoi_RepaymentOfRemainingLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining outstanding obligations amount</link:label>
    <link:label id="lab_efoi_RepaymentOfRemainingLongTermDebt_label_en-US" xlink:label="lab_efoi_RepaymentOfRemainingLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayment Of Remaining Long Term Debt</link:label>
    <link:label id="lab_efoi_RepaymentOfRemainingLongTermDebt_documentation_en-US" xlink:label="lab_efoi_RepaymentOfRemainingLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayment Of Remaining Long Term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RepaymentOfRemainingLongTermDebt" xlink:href="efoi-20230331.xsd#efoi_RepaymentOfRemainingLongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RepaymentOfRemainingLongTermDebt" xlink:to="lab_efoi_RepaymentOfRemainingLongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_9ba87b0a-95f7-4bbb-bc72-76aa3f81dd75_terseLabel_en-US" xlink:label="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment Effects on Earnings Per Share [Line Items]</link:label>
    <link:label id="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_label_en-US" xlink:label="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment Effects on Earnings Per Share [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_4d94f6a1-ff99-48f6-9424-431bf06a7eac_negatedLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less imputed interest</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SaleOfStockNameOfTransactionDomain_a0148296-6ed1-46fa-81cc-f6b075f880a1_terseLabel_en-US" xlink:label="lab_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of Stock [Domain]</link:label>
    <link:label id="lab_us-gaap_SaleOfStockNameOfTransactionDomain_label_en-US" xlink:label="lab_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of Stock [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="lab_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsOfStockIssuanceCosts_907216bd-d94b-44ca-baf5-2b8d55c7220b_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfStockIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offering costs paid on the issuance of common stock and warrants</link:label>
    <link:label id="lab_us-gaap_PaymentsOfStockIssuanceCosts_label_en-US" xlink:label="lab_us-gaap_PaymentsOfStockIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments of Stock Issuance Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfStockIssuanceCosts" xlink:to="lab_us-gaap_PaymentsOfStockIssuanceCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_16ba1f47-ebff-46e8-83cb-e21f3416792e_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_OffshoreSupplierMember_10144e87-ddde-49fd-b12e-6eb4bdb37430_terseLabel_en-US" xlink:label="lab_efoi_OffshoreSupplierMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offshore Supplier</link:label>
    <link:label id="lab_efoi_OffshoreSupplierMember_label_en-US" xlink:label="lab_efoi_OffshoreSupplierMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offshore Supplier [Member]</link:label>
    <link:label id="lab_efoi_OffshoreSupplierMember_documentation_en-US" xlink:label="lab_efoi_OffshoreSupplierMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offshore Supplier</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OffshoreSupplierMember" xlink:href="efoi-20230331.xsd#efoi_OffshoreSupplierMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_OffshoreSupplierMember" xlink:to="lab_efoi_OffshoreSupplierMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_CommonStockClosingBidPriceThreshold_fd5ef616-f40b-481e-976f-2ba58c064510_terseLabel_en-US" xlink:label="lab_efoi_CommonStockClosingBidPriceThreshold" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, closing bid price (USD per share)</link:label>
    <link:label id="lab_efoi_CommonStockClosingBidPriceThreshold_label_en-US" xlink:label="lab_efoi_CommonStockClosingBidPriceThreshold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Closing Bid Price Threshold</link:label>
    <link:label id="lab_efoi_CommonStockClosingBidPriceThreshold_documentation_en-US" xlink:label="lab_efoi_CommonStockClosingBidPriceThreshold" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Closing Bid Price Threshold</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommonStockClosingBidPriceThreshold" xlink:href="efoi-20230331.xsd#efoi_CommonStockClosingBidPriceThreshold"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_CommonStockClosingBidPriceThreshold" xlink:to="lab_efoi_CommonStockClosingBidPriceThreshold" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskByTypeAxis_9442ed4c-f809-434a-9772-82e30a7a4d92_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskByTypeAxis_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis" xlink:to="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_fe2f894a-df6d-4ca6-b0ee-eedd43cc1d90_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="lab_us-gaap_LiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DebtInstrumentEnteredPeriodAxis_f4d41993-ae2d-4bd3-b16d-7c054fe239d3_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentEnteredPeriodAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument Entered Period [Axis]</link:label>
    <link:label id="lab_efoi_DebtInstrumentEnteredPeriodAxis_label_en-US" xlink:label="lab_efoi_DebtInstrumentEnteredPeriodAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument Entered Period [Axis]</link:label>
    <link:label id="lab_efoi_DebtInstrumentEnteredPeriodAxis_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentEnteredPeriodAxis" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument Entered Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentEnteredPeriodAxis" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentEnteredPeriodAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodAxis" xlink:to="lab_efoi_DebtInstrumentEnteredPeriodAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CustomerConcentrationRiskMember_318bd34c-baef-4aee-b48e-911074524630_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Concentration Risk</link:label>
    <link:label id="lab_us-gaap_CustomerConcentrationRiskMember_label_en-US" xlink:label="lab_us-gaap_CustomerConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerConcentrationRiskMember" xlink:to="lab_us-gaap_CustomerConcentrationRiskMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock_36fbfdc0-5b99-4dcb-8f89-018cffd57b55_terseLabel_en-US" xlink:label="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental Cash Flow Information Related to Leases</link:label>
    <link:label id="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock_label_en-US" xlink:label="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental Cash Flow Information Related to Leases [Table Text Block]</link:label>
    <link:label id="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock_documentation_en-US" xlink:label="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental Cash Flow Information Related to Leases</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:href="efoi-20230331.xsd#efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:to="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_c52a513b-5528-4042-b0fb-41551f9ac999_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating loss, subject to expiration</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:to="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_44947f3c-c0d8-49d4-877a-9710a14f188b_terseLabel_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption, Adjustment</link:label>
    <link:label id="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_label_en-US" xlink:label="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption, Adjustment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:to="lab_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_078e5825-61d1-4fc5-a445-180d7820bb9f_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accounts Receivable, Allowance for Credit Loss</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="lab_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NonoperatingIncomeExpenseAbstract_37b15dd6-0ae4-4e29-bcb9-527f3fcfa4d6_terseLabel_en-US" xlink:label="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other expenses (income):</link:label>
    <link:label id="lab_us-gaap_NonoperatingIncomeExpenseAbstract_label_en-US" xlink:label="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nonoperating Income (Expense) [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_0c704adc-38a6-44a7-87cb-7dc6c9b3f863_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Future Maturities of Operating Lease Liabilities</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine2_39e80201-64d1-4e16-9162-729b0f3ebcb4_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line Two</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine2_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine2" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine2"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine2" xlink:to="lab_dei_EntityAddressAddressLine2" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_09b04c02-00d6-495a-9a3e-8c562ee2b8ad_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine1_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_27748619-fcf3-4f1a-bea0-1a6742e1c1d6_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:to="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductOrServiceAxis_bba26eb4-04e7-449c-b771-e8c048306c87_terseLabel_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:label id="lab_srt_ProductOrServiceAxis_label_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductOrServiceAxis" xlink:to="lab_srt_ProductOrServiceAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfStockDomain_b048305e-b28f-4dff-b822-515394053ecd_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfStockDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Domain]</link:label>
    <link:label id="lab_us-gaap_ClassOfStockDomain_label_en-US" xlink:label="lab_us-gaap_ClassOfStockDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfStockDomain" xlink:to="lab_us-gaap_ClassOfStockDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestExpense_9dbb0ba1-e6be-45f4-97d7-5cd8fc7fdb7d_terseLabel_en-US" xlink:label="lab_us-gaap_InterestExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest expense</link:label>
    <link:label id="lab_us-gaap_InterestExpense_label_en-US" xlink:label="lab_us-gaap_InterestExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestExpense" xlink:to="lab_us-gaap_InterestExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_f511332b-b157-4bb6-9591-4064cce8a7ee_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory costs</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Borrowing Capacity, Inventory Costs, Percent</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Borrowing Capacity, Inventory Costs, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:href="efoi-20230331.xsd#efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:to="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock_9af98bde-103d-4732-85a7-5e83b75099b2_terseLabel_en-US" xlink:label="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Supplemental Balance Sheet Information</link:label>
    <link:label id="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock_label_en-US" xlink:label="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Supplemental Balance Sheet Information [Table Text Block]</link:label>
    <link:label id="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock_documentation_en-US" xlink:label="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Supplemental Balance Sheet Information [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:href="efoi-20230331.xsd#efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:to="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityAxis_cd047c94-d8bc-472a-9af8-a4a630e0860a_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:label id="lab_us-gaap_CreditFacilityAxis_label_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityAxis" xlink:to="lab_us-gaap_CreditFacilityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RelatedPartyTransactionAmountsOfTransaction_b6e8e513-c5c0-4f8e-8f44-2ad1dddcdb5b_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding Amount</link:label>
    <link:label id="lab_us-gaap_RelatedPartyTransactionAmountsOfTransaction_label_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party Transaction, Amounts of Transaction</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionAmountsOfTransaction"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:to="lab_us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_f4f33813-782d-491c-8bcf-e5aaa524a022_terseLabel_en-US" xlink:label="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from sale of common stock and warrants</link:label>
    <link:label id="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_label_en-US" xlink:label="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs</link:label>
    <link:label id="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_documentation_en-US" xlink:label="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:href="efoi-20230331.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:to="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryValuationReserves_e180470f-1720-4983-a192-d38e6f3cf558_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_InventoryValuationReserves" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reserves for excess, obsolete, and slow-moving inventories</link:label>
    <link:label id="lab_us-gaap_InventoryValuationReserves_label_en-US" xlink:label="lab_us-gaap_InventoryValuationReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryValuationReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryValuationReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryValuationReserves" xlink:to="lab_us-gaap_InventoryValuationReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_62e0870a-4e20-4248-80c3-84a97576d83c_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureTextBlock" xlink:to="lab_us-gaap_InventoryDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock_48104e32-0072-418d-a210-7db1fd91f7c0_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Promissory Notes</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-Term Debt Instruments [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:to="lab_us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityAbstract_label_en-US" xlink:label="lab_us-gaap_EquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityAbstract" xlink:to="lab_us-gaap_EquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_713dfecb-7497-4af3-b91b-eb18b45977d7_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureAbstract" xlink:to="lab_us-gaap_InventoryDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_f8e27057-3c57-415e-bf95-9ca8f4023f71_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnamortizedDebtIssuanceExpense_b83b3048-0204-46ef-8704-f33809a98068_terseLabel_en-US" xlink:label="lab_us-gaap_UnamortizedDebtIssuanceExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortized net issuance costs</link:label>
    <link:label id="lab_us-gaap_UnamortizedDebtIssuanceExpense_label_en-US" xlink:label="lab_us-gaap_UnamortizedDebtIssuanceExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unamortized Debt Issuance Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnamortizedDebtIssuanceExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnamortizedDebtIssuanceExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnamortizedDebtIssuanceExpense" xlink:to="lab_us-gaap_UnamortizedDebtIssuanceExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_March2023PartitionedNoteMember_6ced63c4-b994-49ab-932e-bc1019303e17_terseLabel_en-US" xlink:label="lab_efoi_March2023PartitionedNoteMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">March 2023 Partitioned Note</link:label>
    <link:label id="lab_efoi_March2023PartitionedNoteMember_label_en-US" xlink:label="lab_efoi_March2023PartitionedNoteMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">March 2023 Partitioned Note [Member]</link:label>
    <link:label id="lab_efoi_March2023PartitionedNoteMember_documentation_en-US" xlink:label="lab_efoi_March2023PartitionedNoteMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">March 2023 Partitioned Note</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_March2023PartitionedNoteMember" xlink:href="efoi-20230331.xsd#efoi_March2023PartitionedNoteMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_March2023PartitionedNoteMember" xlink:to="lab_efoi_March2023PartitionedNoteMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_a9348860-2174-4bd3-bc5c-5ee658a03dc8_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at beginning of period (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_9d430fca-d61c-48bc-bd60-3bd13665799c_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at end of period (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DerivativeFixedInterestRate_b1cb074d-5b5f-43fc-be1f-9e617206d027_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeFixedInterestRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative, Fixed Interest Rate</link:label>
    <link:label id="lab_us-gaap_DerivativeFixedInterestRate_label_en-US" xlink:label="lab_us-gaap_DerivativeFixedInterestRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Derivative, Fixed Interest Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeFixedInterestRate" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFixedInterestRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeFixedInterestRate" xlink:to="lab_us-gaap_DerivativeFixedInterestRate" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct_93f78b26-3555-4317-ae6e-a2f4e90fffc2_terseLabel_en-US" xlink:label="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ERTC refund</link:label>
    <link:label id="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct_label_en-US" xlink:label="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payroll Tax Credit, Employee Retention Credit Under The CARES Act</link:label>
    <link:label id="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct_documentation_en-US" xlink:label="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payroll Tax Credit, Employee Retention Credit Under The CARES Act</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" xlink:href="efoi-20230331.xsd#efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" xlink:to="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_e42642dd-3155-4bda-a46d-1e51b9fd7a89_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_label_en-US" xlink:label="lab_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:to="lab_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_7af0aacc-67b0-4134-9fbd-3e2040f2a963_totalLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment at cost</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateDuringPeriod_c7f78940-22a8-4afc-aa5a-30d086b0ef9d_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Default interest rate</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateDuringPeriod_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Interest Rate During Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:to="lab_us-gaap_DebtInstrumentInterestRateDuringPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_3c5ae002-7d5e-4a4f-8b60-cb369cb40c31_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net increase (decrease) in cash</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DistributorToTheU.S.NavyMember_95c79f42-0891-413c-8442-3ab430621ef4_terseLabel_en-US" xlink:label="lab_efoi_DistributorToTheU.S.NavyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor to the U.S. Navy</link:label>
    <link:label id="lab_efoi_DistributorToTheU.S.NavyMember_label_en-US" xlink:label="lab_efoi_DistributorToTheU.S.NavyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor To The U.S. Navy [Member]</link:label>
    <link:label id="lab_efoi_DistributorToTheU.S.NavyMember_documentation_en-US" xlink:label="lab_efoi_DistributorToTheU.S.NavyMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor To The U.S. Navy [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToTheU.S.NavyMember" xlink:href="efoi-20230331.xsd#efoi_DistributorToTheU.S.NavyMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DistributorToTheU.S.NavyMember" xlink:to="lab_efoi_DistributorToTheU.S.NavyMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_a6b1032f-b8b5-44f9-9cd3-dd2334883fca_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, net orderly liquidation value</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Borrowing Capacity, Inventory Value, Percent</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Borrowing Capacity, Inventory Value, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:href="efoi-20230331.xsd#efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:to="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCentralIndexKey_f62fb579-ad04-43b8-bf0f-066c1bed5861_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_5e11cba7-f0cc-4993-9c64-de3d437c9dc8_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Grant Date Fair Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_a66d80d4-651d-43cf-b21d-83476c7aabbb_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskCreditRisk_bbced0eb-136d-40f1-bd30-3cd44237e967_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Certain risks and concentrations</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskCreditRisk_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk, Credit Risk, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskCreditRisk" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskCreditRisk"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskCreditRisk" xlink:to="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_fdf49417-3e54-40e6-a7c9-3a92bf5d3ee7_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued liabilities</link:label>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Accrued Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DateEnteredFourMember_23217669-f3e9-4ec3-bab1-038e0b37d23a_terseLabel_en-US" xlink:label="lab_efoi_DateEnteredFourMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">November 9, 2022</link:label>
    <link:label id="lab_efoi_DateEnteredFourMember_label_en-US" xlink:label="lab_efoi_DateEnteredFourMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Date Entered Four [Member]</link:label>
    <link:label id="lab_efoi_DateEnteredFourMember_documentation_en-US" xlink:label="lab_efoi_DateEnteredFourMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Date Entered Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredFourMember" xlink:href="efoi-20230331.xsd#efoi_DateEnteredFourMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DateEnteredFourMember" xlink:to="lab_efoi_DateEnteredFourMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CityAreaCode_faf51cbb-4121-4e60-b0c5-d6e13f0886d7_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsAbstract_0a8fbcec-ecc8-40f0-b40f-c6f3eba9a69b_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ASSETS</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract" xlink:to="lab_us-gaap_AssetsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongtermDebtTypeDomain_01ce97c2-1945-46ea-9bc4-e088154784e2_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_LongtermDebtTypeDomain_label_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeDomain" xlink:to="lab_us-gaap_LongtermDebtTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PurchaseObligation_3364a4a6-714b-4497-b92f-5cd914088924_terseLabel_en-US" xlink:label="lab_us-gaap_PurchaseObligation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding purchase commitments</link:label>
    <link:label id="lab_us-gaap_PurchaseObligation_label_en-US" xlink:label="lab_us-gaap_PurchaseObligation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase Obligation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligation" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseObligation" xlink:to="lab_us-gaap_PurchaseObligation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_a16b1efd-f523-4a7e-b61a-e27a9ed76cea_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsidiarySaleOfStockAxis_45e29a68-fd12-4d6e-9a21-a677795f70be_terseLabel_en-US" xlink:label="lab_us-gaap_SubsidiarySaleOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of Stock [Axis]</link:label>
    <link:label id="lab_us-gaap_SubsidiarySaleOfStockAxis_label_en-US" xlink:label="lab_us-gaap_SubsidiarySaleOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of Stock [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis" xlink:to="lab_us-gaap_SubsidiarySaleOfStockAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LinesOfCreditCurrent_602e497d-be4a-483a-af74-56540066922e_terseLabel_en-US" xlink:label="lab_us-gaap_LinesOfCreditCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit line borrowings, net of loan origination fees</link:label>
    <link:label id="lab_us-gaap_LinesOfCreditCurrent_label_en-US" xlink:label="lab_us-gaap_LinesOfCreditCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LinesOfCreditCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LinesOfCreditCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LinesOfCreditCurrent" xlink:to="lab_us-gaap_LinesOfCreditCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_0c2d78d7-a0dc-4941-9f63-924f178cfd35_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from financing activities (sources / (uses) of cash):</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyLiabilityTable_2564a920-344f-45b3-aacf-71807d98af0a_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyLiabilityTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranty Liability [Table]</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyLiabilityTable_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyLiabilityTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranty Liability [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyLiabilityTable" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable" xlink:to="lab_us-gaap_ProductWarrantyLiabilityTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_f54573a2-a781-45fd-bc7a-ec89b929cab7_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss per share</link:label>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensation_e8d069f5-eedb-4747-a025-14acab9f16a5_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Noncash Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensation" xlink:to="lab_us-gaap_ShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_January2020EquityOfferingMember_8b99063d-b6a9-4f5e-96c6-e1fafd994c14_terseLabel_en-US" xlink:label="lab_efoi_January2020EquityOfferingMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Equity Offering</link:label>
    <link:label id="lab_efoi_January2020EquityOfferingMember_label_en-US" xlink:label="lab_efoi_January2020EquityOfferingMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Equity Offering [Member]</link:label>
    <link:label id="lab_efoi_January2020EquityOfferingMember_documentation_en-US" xlink:label="lab_efoi_January2020EquityOfferingMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Equity Offering</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingMember" xlink:href="efoi-20230331.xsd#efoi_January2020EquityOfferingMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_January2020EquityOfferingMember" xlink:to="lab_efoi_January2020EquityOfferingMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_d3adbcbc-b43a-4b20-b2a8-8761a92d5d92_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair value of options issued (USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateAxis_5b7f4842-966b-40b2-8972-48c550f3f890_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:label id="lab_us-gaap_VariableRateAxis_label_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateAxis" xlink:to="lab_us-gaap_VariableRateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_875eb822-13d6-42e0-8020-75b7e3f4a291_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquisitions of property and equipment</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_445bc530-e230-4833-8d38-687f06dfb0ff_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product development</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermPurchaseCommitmentAmount_8d01e639-372e-47e5-98a9-d7ad08040ae2_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase commitment</link:label>
    <link:label id="lab_us-gaap_LongTermPurchaseCommitmentAmount_label_en-US" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Purchase Commitment, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermPurchaseCommitmentAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentAmount" xlink:to="lab_us-gaap_LongTermPurchaseCommitmentAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_f18fa4e1-16fc-4c5d-aa30-976e52b5bbee_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of Basic and Diluted Income (Loss) Per Share</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfSalesMember_0c0942f1-3a8c-445d-94c8-3e7f6c940694_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of sales</link:label>
    <link:label id="lab_us-gaap_CostOfSalesMember_label_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Sales [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfSalesMember" xlink:to="lab_us-gaap_CostOfSalesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_NameOfMajorCustomerDomain_68b6802e-a8fa-4564-93a4-8339a6296a2e_terseLabel_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Domain]</link:label>
    <link:label id="lab_srt_NameOfMajorCustomerDomain_label_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_NameOfMajorCustomerDomain" xlink:to="lab_srt_NameOfMajorCustomerDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingStandardsUpdateExtensibleList_dbb41e05-e243-4b9d-8562-9fbedaa26baf_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdateExtensibleList" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards Update [Extensible List]</link:label>
    <link:label id="lab_us-gaap_AccountingStandardsUpdateExtensibleList_label_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdateExtensibleList" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards Update [Extensible Enumeration]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingStandardsUpdateExtensibleList" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingStandardsUpdateExtensibleList"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingStandardsUpdateExtensibleList" xlink:to="lab_us-gaap_AccountingStandardsUpdateExtensibleList" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingStandardsUpdate201613Member_label_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdate201613Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards Update 2016-13 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingStandardsUpdate201613Member" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingStandardsUpdate201613Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingStandardsUpdate201613Member" xlink:to="lab_us-gaap_AccountingStandardsUpdate201613Member" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>11
<FILENAME>efoi-20230331_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2023 Workiva-->
<!--r:de1bd638-ffb7-47e5-8942-3bd62ebf833a,g:0768392e-8f6d-4653-8602-524040c13358-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CoverPage" xlink:type="simple" xlink:href="efoi-20230331.xsd#CoverPage"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/CoverPage" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_a614c04b-00a7-4ade-952e-96727d71f420" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_DocumentType_a614c04b-00a7-4ade-952e-96727d71f420" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport_584a6ce0-0235-4ad3-9d17-d1963c57ad4c" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentQuarterlyReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_DocumentQuarterlyReport_584a6ce0-0235-4ad3-9d17-d1963c57ad4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_fe5a90ee-f8bb-48ff-b08d-73aab05e9712" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_DocumentPeriodEndDate_fe5a90ee-f8bb-48ff-b08d-73aab05e9712" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_dc02bba5-aca0-4615-812c-635d562cecbe" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_DocumentTransitionReport_dc02bba5-aca0-4615-812c-635d562cecbe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_0bafd62d-6384-4f6d-a8f5-32c07623c702" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntityFileNumber_0bafd62d-6384-4f6d-a8f5-32c07623c702" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_1b57f2a3-eafc-493c-9c1b-28ca86bdc2aa" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntityIncorporationStateCountryCode_1b57f2a3-eafc-493c-9c1b-28ca86bdc2aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_ccad6e1e-ba82-447a-86cb-c92b317a264d" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntityTaxIdentificationNumber_ccad6e1e-ba82-447a-86cb-c92b317a264d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_deb3405b-158b-44b9-bb4b-b5613ed66ad9" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntityAddressAddressLine1_deb3405b-158b-44b9-bb4b-b5613ed66ad9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine2_95c3b36f-3e48-4d30-973a-772f030c4f50" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressAddressLine2"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntityAddressAddressLine2_95c3b36f-3e48-4d30-973a-772f030c4f50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_0c7f3522-80f5-4212-ad4d-de6144e28572" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntityAddressCityOrTown_0c7f3522-80f5-4212-ad4d-de6144e28572" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_2e7944a8-9756-471f-901e-a4b3b3ced161" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntityAddressStateOrProvince_2e7944a8-9756-471f-901e-a4b3b3ced161" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_82069979-46a5-4779-8438-d56dc9e1ca40" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntityAddressPostalZipCode_82069979-46a5-4779-8438-d56dc9e1ca40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_1684d91e-2a69-44ca-864a-c14b988fc0aa" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_CityAreaCode_1684d91e-2a69-44ca-864a-c14b988fc0aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_bd0db4ce-ad14-4031-85ba-0a5a933fde82" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_LocalPhoneNumber_bd0db4ce-ad14-4031-85ba-0a5a933fde82" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_65c87c42-d2bc-43d6-801c-5623b5720c65" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_Security12bTitle_65c87c42-d2bc-43d6-801c-5623b5720c65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_348f2c52-b6d2-46a3-9689-06c09ef1df05" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_TradingSymbol_348f2c52-b6d2-46a3-9689-06c09ef1df05" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_8c27eee6-b773-4682-9020-25693c7b1f58" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_SecurityExchangeName_8c27eee6-b773-4682-9020-25693c7b1f58" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_0360324d-47aa-40e7-a782-04706a75d421" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntityCurrentReportingStatus_0360324d-47aa-40e7-a782-04706a75d421" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_32ffca67-6faa-4488-a12f-4716ba405d6c" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntityInteractiveDataCurrent_32ffca67-6faa-4488-a12f-4716ba405d6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_d11292dc-5651-4bf8-8ab4-01cb0f24cea9" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntityFilerCategory_d11292dc-5651-4bf8-8ab4-01cb0f24cea9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_b4b958aa-0d0f-436b-abca-23ccf90e4483" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntitySmallBusiness_b4b958aa-0d0f-436b-abca-23ccf90e4483" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_ca188349-d42e-48f2-a1ff-2165c53f4be3" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntityEmergingGrowthCompany_ca188349-d42e-48f2-a1ff-2165c53f4be3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_90006276-c605-4fab-88b7-3b827ed24330" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntityShellCompany_90006276-c605-4fab-88b7-3b827ed24330" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_8ef75052-48f4-4190-8f88-7d1ef28587c5" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_8ef75052-48f4-4190-8f88-7d1ef28587c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_1813ee0f-2ad2-4ed2-ab93-3cfc81a30163" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntityCentralIndexKey_1813ee0f-2ad2-4ed2-ab93-3cfc81a30163" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_f465a7a5-64b8-4c7c-8505-7d5bf417e78a" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_CurrentFiscalYearEndDate_f465a7a5-64b8-4c7c-8505-7d5bf417e78a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_86f555cc-1ffe-48bf-8165-fb8eddefb27b" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_DocumentFiscalYearFocus_86f555cc-1ffe-48bf-8165-fb8eddefb27b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_2d441679-b505-44d9-9aad-3091361847cf" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_DocumentFiscalPeriodFocus_2d441679-b505-44d9-9aad-3091361847cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_d7cdac40-3ca7-4fb1-93c4-83a6acacbe9e" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_AmendmentFlag_d7cdac40-3ca7-4fb1-93c4-83a6acacbe9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_13f52f57-fbf3-48c4-b249-a7036a1c753b" xlink:href="https://xbrl.sec.gov/dei/2022/dei-2022.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_4cb9c87e-80b5-4139-a9c7-a62fffa9487c" xlink:to="loc_dei_EntityRegistrantName_13f52f57-fbf3-48c4-b249-a7036a1c753b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets" xlink:type="simple" xlink:href="efoi-20230331.xsd#CondensedConsolidatedBalanceSheets"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_479c27bb-ad7d-4911-992a-ec88ba56269c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_9aa132d7-90dd-4a03-8938-6e72af9f7d64" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_479c27bb-ad7d-4911-992a-ec88ba56269c" xlink:to="loc_us-gaap_AssetsAbstract_9aa132d7-90dd-4a03-8938-6e72af9f7d64" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_832a354d-bda4-49bc-b671-f4b7590f6563" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_9aa132d7-90dd-4a03-8938-6e72af9f7d64" xlink:to="loc_us-gaap_AssetsCurrentAbstract_832a354d-bda4-49bc-b671-f4b7590f6563" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_b608d0a8-26fb-4f1c-9717-0bf801097061" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_832a354d-bda4-49bc-b671-f4b7590f6563" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_b608d0a8-26fb-4f1c-9717-0bf801097061" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_e7021117-999c-43d4-a6ff-7ec96e949449" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_832a354d-bda4-49bc-b671-f4b7590f6563" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_e7021117-999c-43d4-a6ff-7ec96e949449" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_4cb4e9b5-96a5-4d4f-94db-ef08dde2459a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_832a354d-bda4-49bc-b671-f4b7590f6563" xlink:to="loc_us-gaap_InventoryNet_4cb4e9b5-96a5-4d4f-94db-ef08dde2459a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepositsAssetsCurrent_e2f8ee33-8249-4482-9011-cd43f48c21a0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DepositsAssetsCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_832a354d-bda4-49bc-b671-f4b7590f6563" xlink:to="loc_us-gaap_DepositsAssetsCurrent_e2f8ee33-8249-4482-9011-cd43f48c21a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_656387d7-db9a-4924-a64b-54fe98b47e9d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_832a354d-bda4-49bc-b671-f4b7590f6563" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_656387d7-db9a-4924-a64b-54fe98b47e9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent_7566f682-f6dd-4301-9545-907d3a107ad6" xlink:href="efoi-20230331.xsd#efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_832a354d-bda4-49bc-b671-f4b7590f6563" xlink:to="loc_efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent_7566f682-f6dd-4301-9545-907d3a107ad6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_9dfdd2cd-3dd2-40ba-9428-8ffbc094630e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AssetsCurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_832a354d-bda4-49bc-b671-f4b7590f6563" xlink:to="loc_us-gaap_AssetsCurrent_9dfdd2cd-3dd2-40ba-9428-8ffbc094630e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_36799e8c-eb35-44cf-9edb-9014c0baa6b6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_9aa132d7-90dd-4a03-8938-6e72af9f7d64" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_36799e8c-eb35-44cf-9edb-9014c0baa6b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_6eae1864-86c0-499a-8b79-9cd7fc514b16" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_9aa132d7-90dd-4a03-8938-6e72af9f7d64" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_6eae1864-86c0-499a-8b79-9cd7fc514b16" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_f80b12c9-9698-4145-8d8e-2443e0dc4d55" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Assets"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_9aa132d7-90dd-4a03-8938-6e72af9f7d64" xlink:to="loc_us-gaap_Assets_f80b12c9-9698-4145-8d8e-2443e0dc4d55" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAbstract_ee2d2598-c5f0-4077-a51c-96529e58c00e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_479c27bb-ad7d-4911-992a-ec88ba56269c" xlink:to="loc_us-gaap_LiabilitiesAbstract_ee2d2598-c5f0-4077-a51c-96529e58c00e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_4c104598-c536-40a7-ab2c-a20d878f16b8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAbstract_ee2d2598-c5f0-4077-a51c-96529e58c00e" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_4c104598-c536-40a7-ab2c-a20d878f16b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_1e928008-f36a-4cc9-8b40-cbe63346363e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_4c104598-c536-40a7-ab2c-a20d878f16b8" xlink:to="loc_us-gaap_AccountsPayableCurrent_1e928008-f36a-4cc9-8b40-cbe63346363e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_a6958219-249d-467d-990e-7427b3e7065a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_4c104598-c536-40a7-ab2c-a20d878f16b8" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_a6958219-249d-467d-990e-7427b3e7065a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedEmployeeBenefitsCurrent_932ec59f-1abc-4d72-9e03-4355f2d5f2d5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_4c104598-c536-40a7-ab2c-a20d878f16b8" xlink:to="loc_us-gaap_AccruedEmployeeBenefitsCurrent_932ec59f-1abc-4d72-9e03-4355f2d5f2d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalesCommissionCurrent_4d105aa8-4ac3-4399-9f74-eda1b82d9051" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccruedSalesCommissionCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_4c104598-c536-40a7-ab2c-a20d878f16b8" xlink:to="loc_us-gaap_AccruedSalesCommissionCurrent_4d105aa8-4ac3-4399-9f74-eda1b82d9051" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualCurrent_2c7a5345-54ef-419d-818b-a159ec291c2b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_4c104598-c536-40a7-ab2c-a20d878f16b8" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualCurrent_2c7a5345-54ef-419d-818b-a159ec291c2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_13d59fc8-9e6e-4cb9-ae4e-650402dcdb36" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_4c104598-c536-40a7-ab2c-a20d878f16b8" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_13d59fc8-9e6e-4cb9-ae4e-650402dcdb36" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LinesOfCreditCurrent_1ad10cb6-083b-45c6-880e-b76cfc0bb068" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LinesOfCreditCurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_4c104598-c536-40a7-ab2c-a20d878f16b8" xlink:to="loc_us-gaap_LinesOfCreditCurrent_1ad10cb6-083b-45c6-880e-b76cfc0bb068" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesPayableRelatedPartiesClassifiedCurrent_9bdf3cc2-1d14-4afd-b994-975640bbe801" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableRelatedPartiesClassifiedCurrent"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_4c104598-c536-40a7-ab2c-a20d878f16b8" xlink:to="loc_us-gaap_NotesPayableRelatedPartiesClassifiedCurrent_9bdf3cc2-1d14-4afd-b994-975640bbe801" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesPayableCurrent_f2544717-3277-4daa-b4df-4bacec6b9da7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NotesPayableCurrent"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_4c104598-c536-40a7-ab2c-a20d878f16b8" xlink:to="loc_us-gaap_NotesPayableCurrent_f2544717-3277-4daa-b4df-4bacec6b9da7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_e8707af8-9592-415f-9581-528c0a226820" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_4c104598-c536-40a7-ab2c-a20d878f16b8" xlink:to="loc_us-gaap_LiabilitiesCurrent_e8707af8-9592-415f-9581-528c0a226820" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_e76d35e1-dc90-49db-b1a6-3d173d0dafb5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAbstract_ee2d2598-c5f0-4077-a51c-96529e58c00e" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_e76d35e1-dc90-49db-b1a6-3d173d0dafb5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_1be74c15-b058-42cd-a976-61a1db951fb8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Liabilities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAbstract_ee2d2598-c5f0-4077-a51c-96529e58c00e" xlink:to="loc_us-gaap_Liabilities_1be74c15-b058-42cd-a976-61a1db951fb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_5f08684a-6cd9-442c-9661-fe6b49635dcf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_479c27bb-ad7d-4911-992a-ec88ba56269c" xlink:to="loc_us-gaap_StockholdersEquityAbstract_5f08684a-6cd9-442c-9661-fe6b49635dcf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_90524db2-e3e4-43b8-a9c1-a4f7da416c93" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_5f08684a-6cd9-442c-9661-fe6b49635dcf" xlink:to="loc_us-gaap_PreferredStockValue_90524db2-e3e4-43b8-a9c1-a4f7da416c93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_4bf2ccd2-7ba9-49e2-ad42-59e7f49378b9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_5f08684a-6cd9-442c-9661-fe6b49635dcf" xlink:to="loc_us-gaap_CommonStockValue_4bf2ccd2-7ba9-49e2-ad42-59e7f49378b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_bec52c5b-5828-403e-a798-e8cfe4fd0c0b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_5f08684a-6cd9-442c-9661-fe6b49635dcf" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_bec52c5b-5828-403e-a798-e8cfe4fd0c0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_c4d9d5a7-587b-49cd-8141-d54f9170cfb9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_5f08684a-6cd9-442c-9661-fe6b49635dcf" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_c4d9d5a7-587b-49cd-8141-d54f9170cfb9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_5caa3d51-962f-47af-986d-4e6d79ca7806" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_5f08684a-6cd9-442c-9661-fe6b49635dcf" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_5caa3d51-962f-47af-986d-4e6d79ca7806" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_8551786c-dcb3-4813-9c1f-0176b0988546" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_5f08684a-6cd9-442c-9661-fe6b49635dcf" xlink:to="loc_us-gaap_StockholdersEquity_8551786c-dcb3-4813-9c1f-0176b0988546" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_7df428d2-0278-4a48-85c1-a140f3c920b4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_479c27bb-ad7d-4911-992a-ec88ba56269c" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_7df428d2-0278-4a48-85c1-a140f3c920b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals" xlink:type="simple" xlink:href="efoi-20230331.xsd#CondensedConsolidatedBalanceSheetsParentheticals"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_93f78367-d667-45c7-b392-6e81f58d277b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_2e256a38-6a0e-41ff-8241-cfc9d5313e65" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_93f78367-d667-45c7-b392-6e81f58d277b" xlink:to="loc_us-gaap_StatementTable_2e256a38-6a0e-41ff-8241-cfc9d5313e65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_f1332bbe-a1cd-4dd9-bdb4-3a3bb244584b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_2e256a38-6a0e-41ff-8241-cfc9d5313e65" xlink:to="loc_us-gaap_StatementClassOfStockAxis_f1332bbe-a1cd-4dd9-bdb4-3a3bb244584b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_8cbd5280-04e6-4b87-b494-9875d36855f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_f1332bbe-a1cd-4dd9-bdb4-3a3bb244584b" xlink:to="loc_us-gaap_ClassOfStockDomain_8cbd5280-04e6-4b87-b494-9875d36855f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember_c0e889e7-acb8-4700-8f9c-0e74a39ce9ab" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertiblePreferredStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_8cbd5280-04e6-4b87-b494-9875d36855f9" xlink:to="loc_us-gaap_ConvertiblePreferredStockMember_c0e889e7-acb8-4700-8f9c-0e74a39ce9ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_2e256a38-6a0e-41ff-8241-cfc9d5313e65" xlink:to="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_687da376-b359-4858-b43f-258c9f405f3e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_687da376-b359-4858-b43f-258c9f405f3e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_1004ac4f-54cb-457a-900e-54e693aeb94e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_1004ac4f-54cb-457a-900e-54e693aeb94e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_4a3a4506-5d2d-49a9-b68f-74fd26528df3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_4a3a4506-5d2d-49a9-b68f-74fd26528df3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued_79434fb6-c618-41e3-9db6-9dbe0c1c3500" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_PreferredStockSharesIssued_79434fb6-c618-41e3-9db6-9dbe0c1c3500" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_041f8bb7-1a98-48a0-9532-f36eb4d5eace" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_041f8bb7-1a98-48a0-9532-f36eb4d5eace" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_b70daacf-fa04-4a40-80b9-6bcccad515a1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_b70daacf-fa04-4a40-80b9-6bcccad515a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_d67bf66f-184b-4398-ae85-93e45b095d60" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_d67bf66f-184b-4398-ae85-93e45b095d60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_6a9b2064-636a-4203-9511-86f3fd9c5355" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_CommonStockSharesIssued_6a9b2064-636a-4203-9511-86f3fd9c5355" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_88bf7200-3656-4551-9e83-c944acccad65" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_0ce3712f-5c4b-414b-94ff-cd805f54fd6a" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_88bf7200-3656-4551-9e83-c944acccad65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations" xlink:type="simple" xlink:href="efoi-20230331.xsd#CondensedConsolidatedStatementsofOperations"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract_a7bb6762-c9e8-425a-a1d0-a4535f1a251c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_fe51685f-5586-4058-a319-7f9e872d52ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a7bb6762-c9e8-425a-a1d0-a4535f1a251c" xlink:to="loc_us-gaap_Revenues_fe51685f-5586-4058-a319-7f9e872d52ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_7a6cd185-2ae6-4eb4-8088-774c9be7cdca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a7bb6762-c9e8-425a-a1d0-a4535f1a251c" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_7a6cd185-2ae6-4eb4-8088-774c9be7cdca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_cb12ac86-e73d-4bbb-8301-713decb91cc0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a7bb6762-c9e8-425a-a1d0-a4535f1a251c" xlink:to="loc_us-gaap_GrossProfit_cb12ac86-e73d-4bbb-8301-713decb91cc0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract_4a0356ca-33db-4289-9bac-beaf9372c667" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a7bb6762-c9e8-425a-a1d0-a4535f1a251c" xlink:to="loc_us-gaap_OperatingExpensesAbstract_4a0356ca-33db-4289-9bac-beaf9372c667" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_3748d151-766c-4cf6-a887-9c4de43bffae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_4a0356ca-33db-4289-9bac-beaf9372c667" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_3748d151-766c-4cf6-a887-9c4de43bffae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_5dd45f48-8e12-4e58-bc18-8535e5054650" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_4a0356ca-33db-4289-9bac-beaf9372c667" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_5dd45f48-8e12-4e58-bc18-8535e5054650" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_25ab943a-ab52-491a-86d4-668e0007f943" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingExpenses"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_4a0356ca-33db-4289-9bac-beaf9372c667" xlink:to="loc_us-gaap_OperatingExpenses_25ab943a-ab52-491a-86d4-668e0007f943" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_0608f86d-aaf1-4fd6-98e3-061da8d44c4e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_4a0356ca-33db-4289-9bac-beaf9372c667" xlink:to="loc_us-gaap_OperatingIncomeLoss_0608f86d-aaf1-4fd6-98e3-061da8d44c4e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpenseAbstract_f3ac5fba-2ad0-42de-a2cb-7d1fb5d21e53" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonoperatingIncomeExpenseAbstract"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a7bb6762-c9e8-425a-a1d0-a4535f1a251c" xlink:to="loc_us-gaap_NonoperatingIncomeExpenseAbstract_f3ac5fba-2ad0-42de-a2cb-7d1fb5d21e53" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_a8d936ca-2a2d-4be4-922d-4b0d72d16c85" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InterestExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_f3ac5fba-2ad0-42de-a2cb-7d1fb5d21e53" xlink:to="loc_us-gaap_InterestExpense_a8d936ca-2a2d-4be4-922d-4b0d72d16c85" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncome_01b70076-6d7a-4ffe-a36c-3aa3d5e6bc40" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingIncome"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_f3ac5fba-2ad0-42de-a2cb-7d1fb5d21e53" xlink:to="loc_us-gaap_OtherNonoperatingIncome_01b70076-6d7a-4ffe-a36c-3aa3d5e6bc40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingExpense_61e36032-3675-4c59-b0bb-c8ea2e1b24b6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherNonoperatingExpense"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_f3ac5fba-2ad0-42de-a2cb-7d1fb5d21e53" xlink:to="loc_us-gaap_OtherNonoperatingExpense_61e36032-3675-4c59-b0bb-c8ea2e1b24b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_7b2fdf8f-16ae-4e22-8aee-f1ca6d052607" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_f3ac5fba-2ad0-42de-a2cb-7d1fb5d21e53" xlink:to="loc_us-gaap_NetIncomeLoss_7b2fdf8f-16ae-4e22-8aee-f1ca6d052607" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EarningsPerShareBasicAndDilutedEPSAbstract_1a6fff7b-987a-4129-89a2-b58baba48cff" xlink:href="efoi-20230331.xsd#efoi_EarningsPerShareBasicAndDilutedEPSAbstract"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a7bb6762-c9e8-425a-a1d0-a4535f1a251c" xlink:to="loc_efoi_EarningsPerShareBasicAndDilutedEPSAbstract_1a6fff7b-987a-4129-89a2-b58baba48cff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_2ef2f901-efb0-4fa1-98b3-d0d3bdb149b8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_EarningsPerShareBasicAndDilutedEPSAbstract_1a6fff7b-987a-4129-89a2-b58baba48cff" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_2ef2f901-efb0-4fa1-98b3-d0d3bdb149b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_4ea682b8-d2c4-4d2d-8d1e-07eac3adce87" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_EarningsPerShareBasicAndDilutedEPSAbstract_1a6fff7b-987a-4129-89a2-b58baba48cff" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_4ea682b8-d2c4-4d2d-8d1e-07eac3adce87" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_50409c9a-dc62-4eec-b893-661a4aee89b5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a7bb6762-c9e8-425a-a1d0-a4535f1a251c" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_50409c9a-dc62-4eec-b893-661a4aee89b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_0f0d7dd4-786d-43d1-ad3e-9cc26b4561a3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_50409c9a-dc62-4eec-b893-661a4aee89b5" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_0f0d7dd4-786d-43d1-ad3e-9cc26b4561a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_06fd4cbf-c8ed-4bbf-8a6f-1cef7f0c6ed6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_50409c9a-dc62-4eec-b893-661a4aee89b5" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_06fd4cbf-c8ed-4bbf-8a6f-1cef7f0c6ed6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity" xlink:type="simple" xlink:href="efoi-20230331.xsd#CondensedConsolidatedStatementsofChangesinStockholdersEquity"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_f3de4dc0-5149-442e-92cc-e8cda4db49ae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_0274d0b1-c9ad-4526-adaa-766e858183fb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_f3de4dc0-5149-442e-92cc-e8cda4db49ae" xlink:to="loc_us-gaap_StatementTable_0274d0b1-c9ad-4526-adaa-766e858183fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_0b853988-4101-4770-9efa-69490a4108dc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_0274d0b1-c9ad-4526-adaa-766e858183fb" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_0b853988-4101-4770-9efa-69490a4108dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_753894de-5429-41be-be9d-fac1811dd4be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_0b853988-4101-4770-9efa-69490a4108dc" xlink:to="loc_us-gaap_EquityComponentDomain_753894de-5429-41be-be9d-fac1811dd4be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember_435f459f-267b-4ddb-922e-03eaf6d044c8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_753894de-5429-41be-be9d-fac1811dd4be" xlink:to="loc_us-gaap_PreferredStockMember_435f459f-267b-4ddb-922e-03eaf6d044c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_bd319c07-6ca1-42bd-9e99-15d199e6e7fc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_753894de-5429-41be-be9d-fac1811dd4be" xlink:to="loc_us-gaap_CommonStockMember_bd319c07-6ca1-42bd-9e99-15d199e6e7fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_2158ae5d-6337-485e-8e7a-93e2953b25e0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_753894de-5429-41be-be9d-fac1811dd4be" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_2158ae5d-6337-485e-8e7a-93e2953b25e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_75fdaa14-73cd-42b3-9c10-49fd13984405" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_753894de-5429-41be-be9d-fac1811dd4be" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_75fdaa14-73cd-42b3-9c10-49fd13984405" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_0cf14321-8ad4-4af1-88c1-33d75444f5c0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_753894de-5429-41be-be9d-fac1811dd4be" xlink:to="loc_us-gaap_RetainedEarningsMember_0cf14321-8ad4-4af1-88c1-33d75444f5c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_10eeee4a-6f6d-4999-a675-828515848ff2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_0274d0b1-c9ad-4526-adaa-766e858183fb" xlink:to="loc_us-gaap_AwardTypeAxis_10eeee4a-6f6d-4999-a675-828515848ff2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_ac3adb29-758f-4acd-ac46-4321b0d8db8f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_10eeee4a-6f6d-4999-a675-828515848ff2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_ac3adb29-758f-4acd-ac46-4321b0d8db8f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember_c14eb139-ceba-4ac8-ac67-772322ca6866" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_ac3adb29-758f-4acd-ac46-4321b0d8db8f" xlink:to="loc_us-gaap_PreferredStockMember_c14eb139-ceba-4ac8-ac67-772322ca6866" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_cb828cd5-56fa-411c-8a69-67216b68e5cd" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_0274d0b1-c9ad-4526-adaa-766e858183fb" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_cb828cd5-56fa-411c-8a69-67216b68e5cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_abb1fa46-b1d3-41dd-aec8-4cd4273a60af" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_cb828cd5-56fa-411c-8a69-67216b68e5cd" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_abb1fa46-b1d3-41dd-aec8-4cd4273a60af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_0371c71b-2a39-43ae-8cbe-0b6d57648f10" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_abb1fa46-b1d3-41dd-aec8-4cd4273a60af" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember_0371c71b-2a39-43ae-8cbe-0b6d57648f10" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_a5672efd-202e-45eb-ad29-390501d7cc41" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_0274d0b1-c9ad-4526-adaa-766e858183fb" xlink:to="loc_us-gaap_StatementLineItems_a5672efd-202e-45eb-ad29-390501d7cc41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_a5672efd-202e-45eb-ad29-390501d7cc41" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_16219e16-eabc-4c3f-a918-1232de6f1e8b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_SharesOutstanding_16219e16-eabc-4c3f-a918-1232de6f1e8b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_4d971cc3-24ca-4eb7-8b61-f7b255e15b27" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_StockholdersEquity_4d971cc3-24ca-4eb7-8b61-f7b255e15b27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_2c0ed9a2-8588-4bcf-ac25-ee90653e7e75" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_2c0ed9a2-8588-4bcf-ac25-ee90653e7e75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_1fe448f9-1028-46a8-96e6-4e089a1ba42a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_1fe448f9-1028-46a8-96e6-4e089a1ba42a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_14154af1-dbeb-46e2-b48c-06472539a588" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_14154af1-dbeb-46e2-b48c-06472539a588" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_786ff04d-8c81-453d-bbde-0562c217c79a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt_786ff04d-8c81-453d-bbde-0562c217c79a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_f6275b2f-e208-4051-87c8-c94c0bfdf805" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_f6275b2f-e208-4051-87c8-c94c0bfdf805" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_c2a79f2f-ed04-4dc2-8e6b-206178d6bc68" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_c2a79f2f-ed04-4dc2-8e6b-206178d6bc68" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_d9614b0d-384c-4507-b2f2-19805951b9a1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_NetIncomeLoss_d9614b0d-384c-4507-b2f2-19805951b9a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_de4d1e66-043d-4cdb-8c22-83bab6a31379" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharesOutstanding"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_SharesOutstanding_de4d1e66-043d-4cdb-8c22-83bab6a31379" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_92d1fbae-4e3b-4ba0-8d9d-375b80bfa7b4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_5e203553-3874-4676-a163-23eb45e622f1" xlink:to="loc_us-gaap_StockholdersEquity_92d1fbae-4e3b-4ba0-8d9d-375b80bfa7b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingStandardsUpdateExtensibleList_58f7f3c5-1e01-4abd-a733-85f5038d9137" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingStandardsUpdateExtensibleList"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_a5672efd-202e-45eb-ad29-390501d7cc41" xlink:to="loc_us-gaap_AccountingStandardsUpdateExtensibleList_58f7f3c5-1e01-4abd-a733-85f5038d9137" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="efoi-20230331.xsd#CondensedConsolidatedStatementsofCashFlows"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_be60241a-acc3-432f-8e8b-acfb039b9372" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_6219f220-de1b-4dfc-91d3-1f34d195d9de" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_be60241a-acc3-432f-8e8b-acfb039b9372" xlink:to="loc_us-gaap_StatementTable_6219f220-de1b-4dfc-91d3-1f34d195d9de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_c4c88750-793b-4e7c-a0f2-976fdaf6a290" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_6219f220-de1b-4dfc-91d3-1f34d195d9de" xlink:to="loc_us-gaap_DebtInstrumentAxis_c4c88750-793b-4e7c-a0f2-976fdaf6a290" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_d98d4a22-43b0-49c1-9a7e-9b38eda0b728" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_c4c88750-793b-4e7c-a0f2-976fdaf6a290" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_d98d4a22-43b0-49c1-9a7e-9b38eda0b728" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A2022StreetervilleNoteMember_68ba2094-dca0-437a-8e6e-543302b52eca" xlink:href="efoi-20230331.xsd#efoi_A2022StreetervilleNoteMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_d98d4a22-43b0-49c1-9a7e-9b38eda0b728" xlink:to="loc_efoi_A2022StreetervilleNoteMember_68ba2094-dca0-437a-8e6e-543302b52eca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A2021StreetervilleNoteMember_ca96f22f-386b-4ce9-8fac-9199e21eb92b" xlink:href="efoi-20230331.xsd#efoi_A2021StreetervilleNoteMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_d98d4a22-43b0-49c1-9a7e-9b38eda0b728" xlink:to="loc_efoi_A2021StreetervilleNoteMember_ca96f22f-386b-4ce9-8fac-9199e21eb92b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_201575d5-a8d2-432b-ac39-adcab29e56f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_6219f220-de1b-4dfc-91d3-1f34d195d9de" xlink:to="loc_us-gaap_StatementLineItems_201575d5-a8d2-432b-ac39-adcab29e56f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_bde1d78a-786a-4937-8eea-1ce0f0dad064" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_201575d5-a8d2-432b-ac39-adcab29e56f9" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_bde1d78a-786a-4937-8eea-1ce0f0dad064" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_2233441c-7d0a-4ac6-bce7-020abb21ce73" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_bde1d78a-786a-4937-8eea-1ce0f0dad064" xlink:to="loc_us-gaap_NetIncomeLoss_2233441c-7d0a-4ac6-bce7-020abb21ce73" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_bde1d78a-786a-4937-8eea-1ce0f0dad064" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossFromEmployeeRetentionTaxCredit_acd3f3c2-9d97-4c88-9df0-17a57e2f6a11" xlink:href="efoi-20230331.xsd#efoi_GainLossFromEmployeeRetentionTaxCredit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:to="loc_efoi_GainLossFromEmployeeRetentionTaxCredit_acd3f3c2-9d97-4c88-9df0-17a57e2f6a11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_16ffad0a-6f2b-45cd-ac16-bae2ed115087" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:to="loc_us-gaap_Depreciation_16ffad0a-6f2b-45cd-ac16-bae2ed115087" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_4056324d-0849-4d09-b4f6-d85164fcae38" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:to="loc_us-gaap_ShareBasedCompensation_4056324d-0849-4d09-b4f6-d85164fcae38" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_350deea8-ce5e-41dd-abe1-4d62ba23b852" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_350deea8-ce5e-41dd-abe1-4d62ba23b852" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWriteDown_54415d05-f36b-4ea9-bdca-ca66c76eb20c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryWriteDown"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:to="loc_us-gaap_InventoryWriteDown_54415d05-f36b-4ea9-bdca-ca66c76eb20c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInProvisionForWarranties_238f2512-9c63-4c5a-9609-7517a234e341" xlink:href="efoi-20230331.xsd#efoi_IncreaseDecreaseInProvisionForWarranties"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:to="loc_efoi_IncreaseDecreaseInProvisionForWarranties_238f2512-9c63-4c5a-9609-7517a234e341" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfDebtDiscountPremium_8dfff629-a13e-4b44-b94c-d77090801549" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AmortizationOfDebtDiscountPremium"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:to="loc_us-gaap_AmortizationOfDebtDiscountPremium_8dfff629-a13e-4b44-b94c-d77090801549" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_48607120-b3d2-4b3b-a4c0-79dd4f35b249" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_d194aa2c-f15b-431b-810c-2de40bc7b1c3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_d194aa2c-f15b-431b-810c-2de40bc7b1c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_d26f053c-605f-4d3d-91d9-f4e5549cbed2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_d26f053c-605f-4d3d-91d9-f4e5549cbed2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets_3e25b92e-2029-4c31-a2ac-70d242185b14" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDepositOtherAssets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:to="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets_3e25b92e-2029-4c31-a2ac-70d242185b14" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_79f5fc4e-8215-48e2-9a2b-9ed0d82f628e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_79f5fc4e-8215-48e2-9a2b-9ed0d82f628e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_82bfba85-26c7-4655-a199-5194a8c2b680" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_82bfba85-26c7-4655-a199-5194a8c2b680" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_acaa2e58-3ae4-4ce5-a92f-5e813a360ab6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_acaa2e58-3ae4-4ce5-a92f-5e813a360ab6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_63fa0691-b6fe-430b-8bda-6af15f2b7c49" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_63fa0691-b6fe-430b-8bda-6af15f2b7c49" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_06298eaf-76b4-48f0-af43-93c2f612fc45" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_71bad16f-2164-451d-8bc0-5aa8d1cfd4c8" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_06298eaf-76b4-48f0-af43-93c2f612fc45" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_dd5145a7-20b6-418e-bf32-dbd2ad4d1e6e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_bde1d78a-786a-4937-8eea-1ce0f0dad064" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_dd5145a7-20b6-418e-bf32-dbd2ad4d1e6e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_f7e3b3e2-8c7f-4a35-b7f9-8298d9ab3e12" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_201575d5-a8d2-432b-ac39-adcab29e56f9" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_f7e3b3e2-8c7f-4a35-b7f9-8298d9ab3e12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1227c76c-3e43-4407-a179-402c0c1c56bf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_f7e3b3e2-8c7f-4a35-b7f9-8298d9ab3e12" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1227c76c-3e43-4407-a179-402c0c1c56bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_9ef628dc-6a31-48c0-843e-32d1fb1e6915" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_f7e3b3e2-8c7f-4a35-b7f9-8298d9ab3e12" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_9ef628dc-6a31-48c0-843e-32d1fb1e6915" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a298caa0-346e-4541-bbf0-131e511849e6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_201575d5-a8d2-432b-ac39-adcab29e56f9" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a298caa0-346e-4541-bbf0-131e511849e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_dd9805f6-05f1-467f-9ffb-f423ad2a35f3" xlink:href="efoi-20230331.xsd#efoi_ProceedsFromIssuanceOfCommonStockAndWarrants"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a298caa0-346e-4541-bbf0-131e511849e6" xlink:to="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_dd9805f6-05f1-467f-9ffb-f423ad2a35f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments_bb57bad9-d6fd-4e08-8e61-e166a5942361" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeasePrincipalPayments"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a298caa0-346e-4541-bbf0-131e511849e6" xlink:to="loc_us-gaap_FinanceLeasePrincipalPayments_bb57bad9-d6fd-4e08-8e61-e166a5942361" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfNotesPayable_ed61848e-eb16-4f6c-99fa-f417e7423ed2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfNotesPayable"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a298caa0-346e-4541-bbf0-131e511849e6" xlink:to="loc_us-gaap_RepaymentsOfNotesPayable_ed61848e-eb16-4f6c-99fa-f417e7423ed2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit_05ba7e53-628b-4580-94c2-106672b3607d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromLinesOfCredit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a298caa0-346e-4541-bbf0-131e511849e6" xlink:to="loc_us-gaap_ProceedsFromLinesOfCredit_05ba7e53-628b-4580-94c2-106672b3607d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_343c88e6-9be2-4b3b-a0a9-46c6f85baca7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_a298caa0-346e-4541-bbf0-131e511849e6" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_343c88e6-9be2-4b3b-a0a9-46c6f85baca7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_3a3f9d21-837e-4989-897d-7ed1b6a71a3d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_201575d5-a8d2-432b-ac39-adcab29e56f9" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_3a3f9d21-837e-4989-897d-7ed1b6a71a3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0d1230e3-5e2a-4067-aa32-18438eac44cd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_201575d5-a8d2-432b-ac39-adcab29e56f9" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0d1230e3-5e2a-4067-aa32-18438eac44cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_1e4e6383-36df-4b9a-b900-c4bec377adc9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_201575d5-a8d2-432b-ac39-adcab29e56f9" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_1e4e6383-36df-4b9a-b900-c4bec377adc9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/NatureofOperations" xlink:type="simple" xlink:href="efoi-20230331.xsd#NatureofOperations"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/NatureofOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_b447e4da-2646-445e-891a-8493831b6f3e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NatureOfOperations_a5244a6c-e651-43a7-beb4-d0d59b4b6017" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NatureOfOperations"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_b447e4da-2646-445e-891a-8493831b6f3e" xlink:to="loc_us-gaap_NatureOfOperations_a5244a6c-e651-43a7-beb4-d0d59b4b6017" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPolicies"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_eed24b89-89b4-4639-8a67-8a7b2e0077da" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_747dce0e-ec16-40bc-9fda-b6ee88d01c59" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_eed24b89-89b4-4639-8a67-8a7b2e0077da" xlink:to="loc_us-gaap_SignificantAccountingPoliciesTextBlock_747dce0e-ec16-40bc-9fda-b6ee88d01c59" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/Inventories" xlink:type="simple" xlink:href="efoi-20230331.xsd#Inventories"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/Inventories" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_92613637-beeb-43c3-8991-6c9b797d1f5f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_9ba67fac-b99c-4a3e-bf54-bc9a40c8bd18" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_92613637-beeb-43c3-8991-6c9b797d1f5f" xlink:to="loc_us-gaap_InventoryDisclosureTextBlock_9ba67fac-b99c-4a3e-bf54-bc9a40c8bd18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/PropertyandEquipment" xlink:type="simple" xlink:href="efoi-20230331.xsd#PropertyandEquipment"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/PropertyandEquipment" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_c8b4dedd-619a-4f83-b63f-10ce6a95eb08" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_94e7fff8-a48a-472b-a267-47d0a56e42cf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_c8b4dedd-619a-4f83-b63f-10ce6a95eb08" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_94e7fff8-a48a-472b-a267-47d0a56e42cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/Leases" xlink:type="simple" xlink:href="efoi-20230331.xsd#Leases"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/Leases" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_dbab0a43-a763-4184-b5ab-5a4e576134d8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeFinanceLeasesTextBlock_a2f2ac90-27e4-4eba-bd8f-d6c845fc4ec0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeFinanceLeasesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_dbab0a43-a763-4184-b5ab-5a4e576134d8" xlink:to="loc_us-gaap_LesseeFinanceLeasesTextBlock_a2f2ac90-27e4-4eba-bd8f-d6c845fc4ec0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock_5b1afbb4-fe4f-453b-b13c-48515c2f4a56" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_dbab0a43-a763-4184-b5ab-5a4e576134d8" xlink:to="loc_us-gaap_LesseeOperatingLeasesTextBlock_5b1afbb4-fe4f-453b-b13c-48515c2f4a56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/Debt" xlink:type="simple" xlink:href="efoi-20230331.xsd#Debt"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/Debt" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_bf274ec6-1c4b-4e92-aa37-842e85d71e11" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock_c8be8ca1-a09d-4b49-9624-3f4538092bd1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_bf274ec6-1c4b-4e92-aa37-842e85d71e11" xlink:to="loc_us-gaap_DebtDisclosureTextBlock_c8be8ca1-a09d-4b49-9624-3f4538092bd1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/IncomeTaxes" xlink:type="simple" xlink:href="efoi-20230331.xsd#IncomeTaxes"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/IncomeTaxes" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_8a673a1d-5b71-42b3-9cd8-50c04273a8d1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_3f5898f6-d10e-469f-86f0-509946d29839" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_8a673a1d-5b71-42b3-9cd8-50c04273a8d1" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_3f5898f6-d10e-469f-86f0-509946d29839" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquity" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquity"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_6411e6d8-209e-44ea-90a3-47dcadb7edb0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_03ceadce-a990-49e3-8720-69131b705406" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_6411e6d8-209e-44ea-90a3-47dcadb7edb0" xlink:to="loc_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock_03ceadce-a990-49e3-8720-69131b705406" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CommitmentsandContingencies" xlink:type="simple" xlink:href="efoi-20230331.xsd#CommitmentsandContingencies"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/CommitmentsandContingencies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_36858829-2e8a-4220-94ea-be4766e7dcb4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_5d390beb-49bb-4144-930a-d4ed9985088e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_36858829-2e8a-4220-94ea-be4766e7dcb4" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_5d390beb-49bb-4144-930a-d4ed9985088e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/OtherIncome" xlink:type="simple" xlink:href="efoi-20230331.xsd#OtherIncome"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/OtherIncome" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncomeAndExpensesAbstract_59f7279d-11f9-403f-a0ba-195d9bbd31a5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherIncomeAndExpensesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock_7e96c346-5c13-4bc6-9246-e38aaface0a2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherIncomeAndExpensesAbstract_59f7279d-11f9-403f-a0ba-195d9bbd31a5" xlink:to="loc_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock_7e96c346-5c13-4bc6-9246-e38aaface0a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_9fce526c-d94e-4b8a-9f56-befd9faff11f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_3062e26c-e1d1-4797-8147-e417d7057368" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_9fce526c-d94e-4b8a-9f56-befd9faff11f" xlink:to="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_3062e26c-e1d1-4797-8147-e417d7057368" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates_421ba9cb-24b7-45d3-96c9-cd298e12769f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UseOfEstimates"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_9fce526c-d94e-4b8a-9f56-befd9faff11f" xlink:to="loc_us-gaap_UseOfEstimates_421ba9cb-24b7-45d3-96c9-cd298e12769f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_c0347295-a793-4218-95dc-1fd9542d2a37" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_9fce526c-d94e-4b8a-9f56-befd9faff11f" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_c0347295-a793-4218-95dc-1fd9542d2a37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy_8ed316cb-1a7d-43d0-9eea-ce007f9ccb25" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_9fce526c-d94e-4b8a-9f56-befd9faff11f" xlink:to="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy_8ed316cb-1a7d-43d0-9eea-ce007f9ccb25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock_035a4c17-c220-4f4f-9d26-8970ede46daa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_9fce526c-d94e-4b8a-9f56-befd9faff11f" xlink:to="loc_us-gaap_EarningsPerSharePolicyTextBlock_035a4c17-c220-4f4f-9d26-8970ede46daa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyPolicy_3b2050f4-288f-43b9-aeef-3640df39b1c5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyPolicy"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_9fce526c-d94e-4b8a-9f56-befd9faff11f" xlink:to="loc_us-gaap_StandardProductWarrantyPolicy_3b2050f4-288f-43b9-aeef-3640df39b1c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueOfFinancialInstrumentsPolicy_e75afb83-60ef-4428-954a-d3978c0a5f5c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_9fce526c-d94e-4b8a-9f56-befd9faff11f" xlink:to="loc_us-gaap_FairValueOfFinancialInstrumentsPolicy_e75afb83-60ef-4428-954a-d3978c0a5f5c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskCreditRisk_449326d2-aa4c-427f-ab7d-4635437a76b6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskCreditRisk"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_9fce526c-d94e-4b8a-9f56-befd9faff11f" xlink:to="loc_us-gaap_ConcentrationRiskCreditRisk_449326d2-aa4c-427f-ab7d-4635437a76b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_f62b8977-81e9-4d27-a372-317be6bf0bbe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_9fce526c-d94e-4b8a-9f56-befd9faff11f" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_f62b8977-81e9-4d27-a372-317be6bf0bbe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesTables"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_f0d73f60-0be0-48b8-a938-61a31bd4a986" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_ad07b3a3-7d9d-462a-9566-8122353c4375" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_f0d73f60-0be0-48b8-a938-61a31bd4a986" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_ad07b3a3-7d9d-462a-9566-8122353c4375" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_474fc1ef-a879-4ba7-8116-6b3fe7a31083" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_f0d73f60-0be0-48b8-a938-61a31bd4a986" xlink:to="loc_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_474fc1ef-a879-4ba7-8116-6b3fe7a31083" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_40ba4adc-2df4-41f4-8d37-3d5ff416c8d5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_f0d73f60-0be0-48b8-a938-61a31bd4a986" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_40ba4adc-2df4-41f4-8d37-3d5ff416c8d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_08be235c-1d21-4de8-ac55-22e8fdbe62fb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_f0d73f60-0be0-48b8-a938-61a31bd4a986" xlink:to="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_08be235c-1d21-4de8-ac55-22e8fdbe62fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/InventoriesTables" xlink:type="simple" xlink:href="efoi-20230331.xsd#InventoriesTables"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/InventoriesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_21733496-fb82-459a-8b7b-13b5488ef755" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_d7d9231c-2c2b-4808-a474-bef9f1597566" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_21733496-fb82-459a-8b7b-13b5488ef755" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_d7d9231c-2c2b-4808-a474-bef9f1597566" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/PropertyandEquipmentTables" xlink:type="simple" xlink:href="efoi-20230331.xsd#PropertyandEquipmentTables"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/PropertyandEquipmentTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_ef7dadc9-7db8-4d34-85e6-cf214867c80f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_c18eeaa7-b4f4-4881-8e37-88d632ad8dd1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_ef7dadc9-7db8-4d34-85e6-cf214867c80f" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_c18eeaa7-b4f4-4881-8e37-88d632ad8dd1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesTables" xlink:type="simple" xlink:href="efoi-20230331.xsd#LeasesTables"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/LeasesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_6ddca863-cef7-426b-9e8c-f900f5f133a9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock_8174b68f-ad77-4ec2-90ba-0ba75b39eb44" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_6ddca863-cef7-426b-9e8c-f900f5f133a9" xlink:to="loc_us-gaap_LeaseCostTableTextBlock_8174b68f-ad77-4ec2-90ba-0ba75b39eb44" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock_f2dbed00-5a82-4bee-bd4a-6d9fcc6acefb" xlink:href="efoi-20230331.xsd#efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_6ddca863-cef7-426b-9e8c-f900f5f133a9" xlink:to="loc_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock_f2dbed00-5a82-4bee-bd4a-6d9fcc6acefb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_df1945ee-f5ba-481c-9f2c-acbd02496ca0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_6ddca863-cef7-426b-9e8c-f900f5f133a9" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_df1945ee-f5ba-481c-9f2c-acbd02496ca0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock_29a4b54f-4cf7-4f1a-afd4-99991d40cae4" xlink:href="efoi-20230331.xsd#efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_6ddca863-cef7-426b-9e8c-f900f5f133a9" xlink:to="loc_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock_29a4b54f-4cf7-4f1a-afd4-99991d40cae4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtTables" xlink:type="simple" xlink:href="efoi-20230331.xsd#DebtTables"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/DebtTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_9c3a369b-064c-4a40-9684-0d71e9deb011" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock_5ef6aa28-2ebc-49ac-ba58-31032e268721" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_9c3a369b-064c-4a40-9684-0d71e9deb011" xlink:to="loc_us-gaap_ScheduleOfDebtInstrumentsTextBlock_5ef6aa28-2ebc-49ac-ba58-31032e268721" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityTables" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityTables"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_9c9a102e-2c8c-48a0-9610-373337cc298e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_8f542ae9-fff6-4240-8aed-db4722531759" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_9c9a102e-2c8c-48a0-9610-373337cc298e" xlink:to="loc_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_8f542ae9-fff6-4240-8aed-db4722531759" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_321717b9-86d1-4951-bd7e-24e4029e0d3b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_9c9a102e-2c8c-48a0-9610-373337cc298e" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_321717b9-86d1-4951-bd7e-24e4029e0d3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_5e9a3a6b-1d71-4d37-914e-2d8db64b62f1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_9c9a102e-2c8c-48a0-9610-373337cc298e" xlink:to="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_5e9a3a6b-1d71-4d37-914e-2d8db64b62f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_010d2699-0a35-4c1d-8bef-03b6ae009b63" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_9c9a102e-2c8c-48a0-9610-373337cc298e" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_010d2699-0a35-4c1d-8bef-03b6ae009b63" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_6a6e405e-81f2-4548-a0dc-58049b501176" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_9c9a102e-2c8c-48a0-9610-373337cc298e" xlink:to="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_6a6e405e-81f2-4548-a0dc-58049b501176" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesBasisofpresentationDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesBasisofpresentationDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesBasisofpresentationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_42998fbb-e86e-4a02-ab71-254f1fd03aeb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_49d9b579-908e-49aa-b264-765761042197" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_42998fbb-e86e-4a02-ab71-254f1fd03aeb" xlink:to="loc_us-gaap_NetIncomeLoss_49d9b579-908e-49aa-b264-765761042197" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f28cc0c-2ba8-4881-8f6b-4ca72abeb730" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_42998fbb-e86e-4a02-ab71-254f1fd03aeb" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0f28cc0c-2ba8-4881-8f6b-4ca72abeb730" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommonStockMinimumBidPrice_00de2eaa-9513-4b6f-ae19-9c1224d438ad" xlink:href="efoi-20230331.xsd#efoi_CommonStockMinimumBidPrice"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_42998fbb-e86e-4a02-ab71-254f1fd03aeb" xlink:to="loc_efoi_CommonStockMinimumBidPrice_00de2eaa-9513-4b6f-ae19-9c1224d438ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommonStockTradePricePerShare_40422c2c-77b4-4c89-9553-8fb889ae7b0b" xlink:href="efoi-20230331.xsd#efoi_CommonStockTradePricePerShare"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_42998fbb-e86e-4a02-ab71-254f1fd03aeb" xlink:to="loc_efoi_CommonStockTradePricePerShare_40422c2c-77b4-4c89-9553-8fb889ae7b0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommonStockClosingBidPriceThreshold_395e040c-b2a6-4692-ade0-be0e5c50c42a" xlink:href="efoi-20230331.xsd#efoi_CommonStockClosingBidPriceThreshold"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_42998fbb-e86e-4a02-ab71-254f1fd03aeb" xlink:to="loc_efoi_CommonStockClosingBidPriceThreshold_395e040c-b2a6-4692-ade0-be0e5c50c42a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold_184a94ab-7cfe-4319-9c36-f6ad822d1968" xlink:href="efoi-20230331.xsd#efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_42998fbb-e86e-4a02-ab71-254f1fd03aeb" xlink:to="loc_efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold_184a94ab-7cfe-4319-9c36-f6ad822d1968" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_a6267388-4991-429c-9538-33af5acc9548" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_42998fbb-e86e-4a02-ab71-254f1fd03aeb" xlink:to="loc_us-gaap_StockholdersEquity_a6267388-4991-429c-9538-33af5acc9548" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_19000253-58e9-484d-bde1-21e85a70b6db" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_834345ad-a016-48df-ad52-5d13d1aac6f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_19000253-58e9-484d-bde1-21e85a70b6db" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_834345ad-a016-48df-ad52-5d13d1aac6f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_bedcfcae-64be-494d-92ca-abd9db3701ee" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_834345ad-a016-48df-ad52-5d13d1aac6f9" xlink:to="loc_srt_ProductOrServiceAxis_bedcfcae-64be-494d-92ca-abd9db3701ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_31fdc8d9-3cc9-420a-8057-867eff6c0bd4" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_bedcfcae-64be-494d-92ca-abd9db3701ee" xlink:to="loc_srt_ProductsAndServicesDomain_31fdc8d9-3cc9-420a-8057-867eff6c0bd4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommercialProductsMember_397fec80-db90-4357-8cb8-e0048f0698d1" xlink:href="efoi-20230331.xsd#efoi_CommercialProductsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_31fdc8d9-3cc9-420a-8057-867eff6c0bd4" xlink:to="loc_efoi_CommercialProductsMember_397fec80-db90-4357-8cb8-e0048f0698d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_MMMProductsMember_001bf858-6681-45d1-81f3-54941913d7b8" xlink:href="efoi-20230331.xsd#efoi_MMMProductsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_31fdc8d9-3cc9-420a-8057-867eff6c0bd4" xlink:to="loc_efoi_MMMProductsMember_001bf858-6681-45d1-81f3-54941913d7b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_db0695b8-434e-410e-be3b-5029b4f5aec2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_834345ad-a016-48df-ad52-5d13d1aac6f9" xlink:to="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_db0695b8-434e-410e-be3b-5029b4f5aec2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_f5c8558a-f965-4ced-8d48-926edad9a40e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Revenues"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_db0695b8-434e-410e-be3b-5029b4f5aec2" xlink:to="loc_us-gaap_Revenues_f5c8558a-f965-4ced-8d48-926edad9a40e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_eab2966d-dc7d-400c-ad9b-1ad7901f97e5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable_45e21365-d0f2-4caf-8c66-5f1bf4a4f2ac" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_eab2966d-dc7d-400c-ad9b-1ad7901f97e5" xlink:to="loc_us-gaap_ConcentrationRiskTable_45e21365-d0f2-4caf-8c66-5f1bf4a4f2ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_dda1e5a2-21f2-4fce-a860-8a9f3b39203b" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_45e21365-d0f2-4caf-8c66-5f1bf4a4f2ac" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_dda1e5a2-21f2-4fce-a860-8a9f3b39203b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_61475ac6-9ab1-4193-9402-b189e830fcdd" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionAxis_dda1e5a2-21f2-4fce-a860-8a9f3b39203b" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_61475ac6-9ab1-4193-9402-b189e830fcdd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_9e437870-c7aa-4aa6-882d-6d861a4377fa" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_CumulativeEffectPeriodOfAdoptionDomain_61475ac6-9ab1-4193-9402-b189e830fcdd" xlink:to="loc_srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember_9e437870-c7aa-4aa6-882d-6d861a4377fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_dd1b57d9-915c-4157-b853-934523fe169e" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementGeographicalAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_45e21365-d0f2-4caf-8c66-5f1bf4a4f2ac" xlink:to="loc_srt_StatementGeographicalAxis_dd1b57d9-915c-4157-b853-934523fe169e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_69f205d2-42fe-4048-981b-a6352bde5936" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_SegmentGeographicalDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_dd1b57d9-915c-4157-b853-934523fe169e" xlink:to="loc_srt_SegmentGeographicalDomain_69f205d2-42fe-4048-981b-a6352bde5936" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonUsMember_1d98a577-937f-428d-8f6a-a4fe51892dfa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NonUsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_69f205d2-42fe-4048-981b-a6352bde5936" xlink:to="loc_us-gaap_NonUsMember_1d98a577-937f-428d-8f6a-a4fe51892dfa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_111e1c50-fd06-4f96-9032-1df56db11122" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_45e21365-d0f2-4caf-8c66-5f1bf4a4f2ac" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_111e1c50-fd06-4f96-9032-1df56db11122" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_7bfb7589-c178-4e45-8c2c-c7b76604f8c9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_111e1c50-fd06-4f96-9032-1df56db11122" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_7bfb7589-c178-4e45-8c2c-c7b76604f8c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember_e246e016-815d-43f5-a513-2f1c012957f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_7bfb7589-c178-4e45-8c2c-c7b76604f8c9" xlink:to="loc_us-gaap_SalesRevenueNetMember_e246e016-815d-43f5-a513-2f1c012957f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_81fd1aef-d672-4a05-930d-873a14dd1be1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_45e21365-d0f2-4caf-8c66-5f1bf4a4f2ac" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_81fd1aef-d672-4a05-930d-873a14dd1be1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_6fe2399a-248a-40fc-a6e3-9c504fb62754" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_81fd1aef-d672-4a05-930d-873a14dd1be1" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_6fe2399a-248a-40fc-a6e3-9c504fb62754" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GeographicConcentrationRiskMember_bb4a5f2a-34b2-4fbb-b944-7cde82579af6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_GeographicConcentrationRiskMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_6fe2399a-248a-40fc-a6e3-9c504fb62754" xlink:to="loc_us-gaap_GeographicConcentrationRiskMember_bb4a5f2a-34b2-4fbb-b944-7cde82579af6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_6b432d7b-8f7b-4815-afae-b23fbbc8ee89" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_45e21365-d0f2-4caf-8c66-5f1bf4a4f2ac" xlink:to="loc_us-gaap_ConcentrationRiskLineItems_6b432d7b-8f7b-4815-afae-b23fbbc8ee89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ContractWithCustomerPaymentTerms_6e0c4537-8aee-4822-bac0-16dcd9a32822" xlink:href="efoi-20230331.xsd#efoi_ContractWithCustomerPaymentTerms"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_6b432d7b-8f7b-4815-afae-b23fbbc8ee89" xlink:to="loc_efoi_ContractWithCustomerPaymentTerms_6e0c4537-8aee-4822-bac0-16dcd9a32822" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_d87d2945-f0f2-467a-951f-44c89929d1b3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_6b432d7b-8f7b-4815-afae-b23fbbc8ee89" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_d87d2945-f0f2-467a-951f-44c89929d1b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_20f3ab1f-0542-4dd4-bc8f-f173bdc1de0c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_6b432d7b-8f7b-4815-afae-b23fbbc8ee89" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_20f3ab1f-0542-4dd4-bc8f-f173bdc1de0c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_9908e00d-9dcb-4b04-8728-710330f90bf8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_6b432d7b-8f7b-4815-afae-b23fbbc8ee89" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_9908e00d-9dcb-4b04-8728-710330f90bf8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetAccountsReceivableDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesNetAccountsReceivableDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetAccountsReceivableDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_d441378e-47bc-4147-af87-be76d67c83d9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableGrossCurrent_a0cf5a99-000d-43c8-803f-c7e3fa37add8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_d441378e-47bc-4147-af87-be76d67c83d9" xlink:to="loc_us-gaap_AccountsReceivableGrossCurrent_a0cf5a99-000d-43c8-803f-c7e3fa37add8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_8e4b452c-ffbd-437a-9e6b-eee1615a845c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_d441378e-47bc-4147-af87-be76d67c83d9" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_8e4b452c-ffbd-437a-9e6b-eee1615a845c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_18740464-cf67-4609-a8d7-6962520156f9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_d441378e-47bc-4147-af87-be76d67c83d9" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_18740464-cf67-4609-a8d7-6962520156f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedLossperShareDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedLossperShareDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedLossperShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_38aecb2f-f364-4f8f-ac5d-08fbcb3dbde5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_4534b69d-a12d-401d-bb74-689063b470c7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_38aecb2f-f364-4f8f-ac5d-08fbcb3dbde5" xlink:to="loc_us-gaap_EarningsPerShareAbstract_4534b69d-a12d-401d-bb74-689063b470c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_b0fa11b2-02f3-4382-ac15-2666a982628f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_4534b69d-a12d-401d-bb74-689063b470c7" xlink:to="loc_us-gaap_NetIncomeLoss_b0fa11b2-02f3-4382-ac15-2666a982628f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EarningsPerShareBasicAndDilutedEPSAbstract_b614632b-b36e-47e5-80af-21d7745e052c" xlink:href="efoi-20230331.xsd#efoi_EarningsPerShareBasicAndDilutedEPSAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_38aecb2f-f364-4f8f-ac5d-08fbcb3dbde5" xlink:to="loc_efoi_EarningsPerShareBasicAndDilutedEPSAbstract_b614632b-b36e-47e5-80af-21d7745e052c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_0f03665e-a7ae-41fc-b440-3cffae966e5c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_EarningsPerShareBasicAndDilutedEPSAbstract_b614632b-b36e-47e5-80af-21d7745e052c" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_0f03665e-a7ae-41fc-b440-3cffae966e5c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_d7301d4b-371f-477d-8a8a-a9a7ba02174b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_EarningsPerShareBasicAndDilutedEPSAbstract_b614632b-b36e-47e5-80af-21d7745e052c" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_d7301d4b-371f-477d-8a8a-a9a7ba02174b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_492c94b4-9c33-4d33-bf48-94f1cd51d93f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_20fe55f4-34c8-42c2-8570-7de4e03bea85" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_492c94b4-9c33-4d33-bf48-94f1cd51d93f" xlink:to="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_20fe55f4-34c8-42c2-8570-7de4e03bea85" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_c44179c2-757d-46f6-aed8-eed0ea1763b0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_20fe55f4-34c8-42c2-8570-7de4e03bea85" xlink:to="loc_us-gaap_AwardTypeAxis_c44179c2-757d-46f6-aed8-eed0ea1763b0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6be7e5ff-59eb-48eb-8754-3505007b01bb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_c44179c2-757d-46f6-aed8-eed0ea1763b0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6be7e5ff-59eb-48eb-8754-3505007b01bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember_b3646797-c0a2-4cfd-adde-dd36ca8ff6b3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertiblePreferredStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6be7e5ff-59eb-48eb-8754-3505007b01bb" xlink:to="loc_us-gaap_ConvertiblePreferredStockMember_b3646797-c0a2-4cfd-adde-dd36ca8ff6b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember_087cbb38-6f71-480e-aae9-b824e88001ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WarrantMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6be7e5ff-59eb-48eb-8754-3505007b01bb" xlink:to="loc_us-gaap_WarrantMember_087cbb38-6f71-480e-aae9-b824e88001ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_b26821f8-cb16-4a9c-a298-7d334e374f9f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_20fe55f4-34c8-42c2-8570-7de4e03bea85" xlink:to="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_b26821f8-cb16-4a9c-a298-7d334e374f9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_d0adb729-7619-4735-a0b3-acb319dfeaf3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_b26821f8-cb16-4a9c-a298-7d334e374f9f" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_d0adb729-7619-4735-a0b3-acb319dfeaf3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_0fa211ce-0890-4297-b0af-50dc4cd9d019" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyLiabilityTable_aff4e512-9105-41df-b47a-697f785ddad3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_0fa211ce-0890-4297-b0af-50dc4cd9d019" xlink:to="loc_us-gaap_ProductWarrantyLiabilityTable_aff4e512-9105-41df-b47a-697f785ddad3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_b4674bfc-263a-48bc-9b3e-d78a5cf7cd3d" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable_aff4e512-9105-41df-b47a-697f785ddad3" xlink:to="loc_srt_ProductOrServiceAxis_b4674bfc-263a-48bc-9b3e-d78a5cf7cd3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_ff11b710-dcee-495f-a833-967791335858" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_b4674bfc-263a-48bc-9b3e-d78a5cf7cd3d" xlink:to="loc_srt_ProductsAndServicesDomain_ff11b710-dcee-495f-a833-967791335858" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommercialProductsMember_5f7a2a03-aa71-4d89-b34f-d2ea61e59b7e" xlink:href="efoi-20230331.xsd#efoi_CommercialProductsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_ff11b710-dcee-495f-a833-967791335858" xlink:to="loc_efoi_CommercialProductsMember_5f7a2a03-aa71-4d89-b34f-d2ea61e59b7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_MMMLEDProductsMember_68476209-44a6-47cf-af46-3c1117540dc4" xlink:href="efoi-20230331.xsd#efoi_MMMLEDProductsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_ff11b710-dcee-495f-a833-967791335858" xlink:to="loc_efoi_MMMLEDProductsMember_68476209-44a6-47cf-af46-3c1117540dc4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_1d806373-4f33-4aa9-bb1c-4f160821ae91" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable_aff4e512-9105-41df-b47a-697f785ddad3" xlink:to="loc_srt_RangeAxis_1d806373-4f33-4aa9-bb1c-4f160821ae91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_5b3af9b6-589a-4765-a6a2-68acc32a8d90" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_1d806373-4f33-4aa9-bb1c-4f160821ae91" xlink:to="loc_srt_RangeMember_5b3af9b6-589a-4765-a6a2-68acc32a8d90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_7ecdb58e-0b95-4711-a1c2-d92de008f049" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_5b3af9b6-589a-4765-a6a2-68acc32a8d90" xlink:to="loc_srt_MinimumMember_7ecdb58e-0b95-4711-a1c2-d92de008f049" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_f1e5de6b-beab-44d2-9eb9-663a193f3402" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_5b3af9b6-589a-4765-a6a2-68acc32a8d90" xlink:to="loc_srt_MaximumMember_f1e5de6b-beab-44d2-9eb9-663a193f3402" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyLiabilityLineItems_ffc0cded-ff82-4a51-99b7-c618ebd01b11" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProductWarrantyLiabilityLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable_aff4e512-9105-41df-b47a-697f785ddad3" xlink:to="loc_us-gaap_ProductWarrantyLiabilityLineItems_ffc0cded-ff82-4a51-99b7-c618ebd01b11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_StandardProductWarrantyNumberofYears_7c15c78a-4a72-4d5b-91e2-bae797d306ba" xlink:href="efoi-20230331.xsd#efoi_StandardProductWarrantyNumberofYears"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems_ffc0cded-ff82-4a51-99b7-c618ebd01b11" xlink:to="loc_efoi_StandardProductWarrantyNumberofYears_7c15c78a-4a72-4d5b-91e2-bae797d306ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesWarrantyActivityDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesWarrantyActivityDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesWarrantyActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_9408cfc0-07c7-44bd-8d96-04aaf69a826f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_821d2329-45b3-4f29-9b50-dbb5f83d5114" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_9408cfc0-07c7-44bd-8d96-04aaf69a826f" xlink:to="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_821d2329-45b3-4f29-9b50-dbb5f83d5114" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualCurrent_68fd26e3-d086-40d0-bcbb-3a0189400684" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_821d2329-45b3-4f29-9b50-dbb5f83d5114" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualCurrent_68fd26e3-d086-40d0-bcbb-3a0189400684" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued_a8fe3a60-25d6-475b-bc5a-f88d4c39c959" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualWarrantiesIssued"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_821d2329-45b3-4f29-9b50-dbb5f83d5114" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued_a8fe3a60-25d6-475b-bc5a-f88d4c39c959" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_7f7a760f-d985-469f-9066-b2e8eea3dcda" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_821d2329-45b3-4f29-9b50-dbb5f83d5114" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_7f7a760f-d985-469f-9066-b2e8eea3dcda" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPayments_d2516a48-9fc7-4805-bf1f-f4832fa2ef13" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualPayments"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_821d2329-45b3-4f29-9b50-dbb5f83d5114" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualPayments_d2516a48-9fc7-4805-bf1f-f4832fa2ef13" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualCurrent_b2cffa4b-a284-4eeb-9f10-64a9597facd7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StandardProductWarrantyAccrualCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_821d2329-45b3-4f29-9b50-dbb5f83d5114" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualCurrent_b2cffa4b-a284-4eeb-9f10-64a9597facd7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_a21c361c-c4c1-4491-91da-94a0151065c9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable_b276b445-f9ba-4671-b507-4ca75d9e9f23" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_a21c361c-c4c1-4491-91da-94a0151065c9" xlink:to="loc_us-gaap_ConcentrationRiskTable_b276b445-f9ba-4671-b507-4ca75d9e9f23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_dd1ab0a0-a05b-4df5-8bba-49177d096807" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MajorCustomersAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_b276b445-f9ba-4671-b507-4ca75d9e9f23" xlink:to="loc_srt_MajorCustomersAxis_dd1ab0a0-a05b-4df5-8bba-49177d096807" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_ef3551f4-625d-4740-bfd8-611dbda0dbdc" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_MajorCustomersAxis_dd1ab0a0-a05b-4df5-8bba-49177d096807" xlink:to="loc_srt_NameOfMajorCustomerDomain_ef3551f4-625d-4740-bfd8-611dbda0dbdc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToTheU.S.NavyMember_623ab791-91a6-46c2-aa02-041d88aff0e7" xlink:href="efoi-20230331.xsd#efoi_DistributorToTheU.S.NavyMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_ef3551f4-625d-4740-bfd8-611dbda0dbdc" xlink:to="loc_efoi_DistributorToTheU.S.NavyMember_623ab791-91a6-46c2-aa02-041d88aff0e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ShipbuilderForUSNavyMember_ba6e92f3-f4fb-4fdf-9205-a9a80710c390" xlink:href="efoi-20230331.xsd#efoi_ShipbuilderForUSNavyMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_ef3551f4-625d-4740-bfd8-611dbda0dbdc" xlink:to="loc_efoi_ShipbuilderForUSNavyMember_ba6e92f3-f4fb-4fdf-9205-a9a80710c390" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToTheUSDepartmentOfDefenseMember_0b187432-6095-4251-a984-ecb9a9c340da" xlink:href="efoi-20230331.xsd#efoi_DistributorToTheUSDepartmentOfDefenseMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_ef3551f4-625d-4740-bfd8-611dbda0dbdc" xlink:to="loc_efoi_DistributorToTheUSDepartmentOfDefenseMember_0b187432-6095-4251-a984-ecb9a9c340da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TopMilitaryCustomersMember_af3a7439-7c31-4394-aea8-0440053c4aaa" xlink:href="efoi-20230331.xsd#efoi_TopMilitaryCustomersMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_ef3551f4-625d-4740-bfd8-611dbda0dbdc" xlink:to="loc_efoi_TopMilitaryCustomersMember_af3a7439-7c31-4394-aea8-0440053c4aaa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommercialBuildingSystemsProviderMember_48a8eb29-c1fa-4eed-b2bd-633a1f949ee0" xlink:href="efoi-20230331.xsd#efoi_CommercialBuildingSystemsProviderMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_ef3551f4-625d-4740-bfd8-611dbda0dbdc" xlink:to="loc_efoi_CommercialBuildingSystemsProviderMember_48a8eb29-c1fa-4eed-b2bd-633a1f949ee0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember_eee762f5-92b4-4c81-aed7-55ecba20c4dc" xlink:href="efoi-20230331.xsd#efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_ef3551f4-625d-4740-bfd8-611dbda0dbdc" xlink:to="loc_efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember_eee762f5-92b4-4c81-aed7-55ecba20c4dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_6ef64c00-b8c1-4c59-8358-0ad9c2232996" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_b276b445-f9ba-4671-b507-4ca75d9e9f23" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_6ef64c00-b8c1-4c59-8358-0ad9c2232996" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_77655704-042b-4cff-b61e-a09179c85602" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_6ef64c00-b8c1-4c59-8358-0ad9c2232996" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_77655704-042b-4cff-b61e-a09179c85602" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember_3abd8e82-6acf-489e-ba65-7cba8388a284" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_77655704-042b-4cff-b61e-a09179c85602" xlink:to="loc_us-gaap_SalesRevenueNetMember_3abd8e82-6acf-489e-ba65-7cba8388a284" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember_8c5a761a-aded-421c-b913-2b76ba361864" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsReceivableMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_77655704-042b-4cff-b61e-a09179c85602" xlink:to="loc_us-gaap_AccountsReceivableMember_8c5a761a-aded-421c-b913-2b76ba361864" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TotalExpendituresMember_e2b74154-ebda-4f73-ac59-74cbc4b305de" xlink:href="efoi-20230331.xsd#efoi_TotalExpendituresMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_77655704-042b-4cff-b61e-a09179c85602" xlink:to="loc_efoi_TotalExpendituresMember_e2b74154-ebda-4f73-ac59-74cbc4b305de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableMember_1297bb2b-c3ca-4b30-a2fd-3bf30d738e4c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AccountsPayableMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_77655704-042b-4cff-b61e-a09179c85602" xlink:to="loc_us-gaap_AccountsPayableMember_1297bb2b-c3ca-4b30-a2fd-3bf30d738e4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_4613d34e-5b9d-4e81-a50f-3ab108fe026a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_b276b445-f9ba-4671-b507-4ca75d9e9f23" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_4613d34e-5b9d-4e81-a50f-3ab108fe026a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_1418942d-dcce-4eef-a968-709613ab72e1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_4613d34e-5b9d-4e81-a50f-3ab108fe026a" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_1418942d-dcce-4eef-a968-709613ab72e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_0f144a0b-57fb-41d9-9b39-50ba9a580999" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_1418942d-dcce-4eef-a968-709613ab72e1" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_0f144a0b-57fb-41d9-9b39-50ba9a580999" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplierConcentrationRiskMember_f57c06ac-7b7c-48eb-93bb-9c80077d9cd2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SupplierConcentrationRiskMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_1418942d-dcce-4eef-a968-709613ab72e1" xlink:to="loc_us-gaap_SupplierConcentrationRiskMember_f57c06ac-7b7c-48eb-93bb-9c80077d9cd2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_3987be6a-7dbf-493a-840c-668b59c98fec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_b276b445-f9ba-4671-b507-4ca75d9e9f23" xlink:to="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_3987be6a-7dbf-493a-840c-668b59c98fec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_fa416655-a478-48af-a7aa-bff263826c15" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_3987be6a-7dbf-493a-840c-668b59c98fec" xlink:to="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_fa416655-a478-48af-a7aa-bff263826c15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OffshoreSupplierMember_742a20f1-948f-4208-a49e-724c299eb4f0" xlink:href="efoi-20230331.xsd#efoi_OffshoreSupplierMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_fa416655-a478-48af-a7aa-bff263826c15" xlink:to="loc_efoi_OffshoreSupplierMember_742a20f1-948f-4208-a49e-724c299eb4f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_32c373ef-e119-4d53-a068-58befb8a47be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_b276b445-f9ba-4671-b507-4ca75d9e9f23" xlink:to="loc_us-gaap_ConcentrationRiskLineItems_32c373ef-e119-4d53-a068-58befb8a47be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_310af74d-b9dc-43fe-b66d-44d59882a6e5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_32c373ef-e119-4d53-a068-58befb8a47be" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_310af74d-b9dc-43fe-b66d-44d59882a6e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#InventoriesScheduleofInventoryDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_5f8d69f1-4459-44b6-8900-c2963b1cbf36" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterials_6fdbb79c-ccd4-403c-90aa-da844853f053" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryRawMaterials"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_5f8d69f1-4459-44b6-8900-c2963b1cbf36" xlink:to="loc_us-gaap_InventoryRawMaterials_6fdbb79c-ccd4-403c-90aa-da844853f053" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoods_40505aa5-45d1-4d52-bb31-c4810cb39d37" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryFinishedGoods"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_5f8d69f1-4459-44b6-8900-c2963b1cbf36" xlink:to="loc_us-gaap_InventoryFinishedGoods_40505aa5-45d1-4d52-bb31-c4810cb39d37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryValuationReserves_bbbb36a4-5f6a-4cb7-9127-48fef6f3f4ae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryValuationReserves"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_5f8d69f1-4459-44b6-8900-c2963b1cbf36" xlink:to="loc_us-gaap_InventoryValuationReserves_bbbb36a4-5f6a-4cb7-9127-48fef6f3f4ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_a0b4b9ec-ee87-494c-a317-2ca34ffc7cca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_5f8d69f1-4459-44b6-8900-c2963b1cbf36" xlink:to="loc_us-gaap_InventoryNet_a0b4b9ec-ee87-494c-a317-2ca34ffc7cca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#InventoriesReserveRollforwardDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_34b09596-af3c-4ae5-87a3-6e8ccc1a1a07" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryReserveRollForward_e3bad195-5e00-4db5-89c9-8e16ecffd73e" xlink:href="efoi-20230331.xsd#efoi_InventoryReserveRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_34b09596-af3c-4ae5-87a3-6e8ccc1a1a07" xlink:to="loc_efoi_InventoryReserveRollForward_e3bad195-5e00-4db5-89c9-8e16ecffd73e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesRawMaterials_4299d8c0-13d7-451b-b8ce-70cbcebe4e2e" xlink:href="efoi-20230331.xsd#efoi_InventoryValuationReservesRawMaterials"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_InventoryReserveRollForward_e3bad195-5e00-4db5-89c9-8e16ecffd73e" xlink:to="loc_efoi_InventoryValuationReservesRawMaterials_4299d8c0-13d7-451b-b8ce-70cbcebe4e2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesProvisionAccrual_446ad8d2-1c72-4a52-8e96-edb511f60739" xlink:href="efoi-20230331.xsd#efoi_InventoryValuationReservesProvisionAccrual"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_InventoryReserveRollForward_e3bad195-5e00-4db5-89c9-8e16ecffd73e" xlink:to="loc_efoi_InventoryValuationReservesProvisionAccrual_446ad8d2-1c72-4a52-8e96-edb511f60739" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesSalesOfInventory_731d2268-3c8a-4744-814e-107cb76dbd11" xlink:href="efoi-20230331.xsd#efoi_InventoryValuationReservesSalesOfInventory"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_InventoryReserveRollForward_e3bad195-5e00-4db5-89c9-8e16ecffd73e" xlink:to="loc_efoi_InventoryValuationReservesSalesOfInventory_731d2268-3c8a-4744-814e-107cb76dbd11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesRawMaterials_1fa7ef56-e225-461b-8367-14b1e4043f14" xlink:href="efoi-20230331.xsd#efoi_InventoryValuationReservesRawMaterials"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_InventoryReserveRollForward_e3bad195-5e00-4db5-89c9-8e16ecffd73e" xlink:to="loc_efoi_InventoryValuationReservesRawMaterials_1fa7ef56-e225-461b-8367-14b1e4043f14" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#PropertyandEquipmentScheduleofPropertyandEquipmentDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_02ee440b-3c26-4136-8378-a2c354361957" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_1600aef3-da07-4562-91b1-5995ceb29dc9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_02ee440b-3c26-4136-8378-a2c354361957" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_1600aef3-da07-4562-91b1-5995ceb29dc9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_36179411-07d6-48bd-8a55-d7d5d0b0f301" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_1600aef3-da07-4562-91b1-5995ceb29dc9" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_36179411-07d6-48bd-8a55-d7d5d0b0f301" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_68394150-e942-4950-aca3-3e6ae9c949a4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_36179411-07d6-48bd-8a55-d7d5d0b0f301" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_68394150-e942-4950-aca3-3e6ae9c949a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquipmentMember_c2a13883-3a7b-4214-9d55-b40e297bd6e9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquipmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_68394150-e942-4950-aca3-3e6ae9c949a4" xlink:to="loc_us-gaap_EquipmentMember_c2a13883-3a7b-4214-9d55-b40e297bd6e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ToolingMember_599a5b35-50a1-4440-9f57-84fb6edc05a1" xlink:href="efoi-20230331.xsd#efoi_ToolingMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_68394150-e942-4950-aca3-3e6ae9c949a4" xlink:to="loc_efoi_ToolingMember_599a5b35-50a1-4440-9f57-84fb6edc05a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_7427f48e-d71e-4655-a6ba-4dca9d2707a4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_68394150-e942-4950-aca3-3e6ae9c949a4" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_7427f48e-d71e-4655-a6ba-4dca9d2707a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_310489d4-51a1-497b-a72f-f21d3a79a415" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_1600aef3-da07-4562-91b1-5995ceb29dc9" xlink:to="loc_srt_RangeAxis_310489d4-51a1-497b-a72f-f21d3a79a415" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_7bbf472b-26be-43d3-9f95-1d3ff5cb13f8" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_310489d4-51a1-497b-a72f-f21d3a79a415" xlink:to="loc_srt_RangeMember_7bbf472b-26be-43d3-9f95-1d3ff5cb13f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_bb6ecf9d-20aa-4eb6-8379-e0e0636fed01" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_7bbf472b-26be-43d3-9f95-1d3ff5cb13f8" xlink:to="loc_srt_MinimumMember_bb6ecf9d-20aa-4eb6-8379-e0e0636fed01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_8f52be22-734b-491d-a77f-43d4692835b8" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_7bbf472b-26be-43d3-9f95-1d3ff5cb13f8" xlink:to="loc_srt_MaximumMember_8f52be22-734b-491d-a77f-43d4692835b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9c2114c0-3e81-4284-ae71-cdccaf3667f0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_1600aef3-da07-4562-91b1-5995ceb29dc9" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9c2114c0-3e81-4284-ae71-cdccaf3667f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_e3b08112-f786-41f1-84c9-09a833a33f24" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9c2114c0-3e81-4284-ae71-cdccaf3667f0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_e3b08112-f786-41f1-84c9-09a833a33f24" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_e2b6195c-54dc-4ef1-af63-ea6676f22276" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9c2114c0-3e81-4284-ae71-cdccaf3667f0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_e2b6195c-54dc-4ef1-af63-ea6676f22276" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_59a343a8-59e9-462b-82e4-9d2b18e7c66e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9c2114c0-3e81-4284-ae71-cdccaf3667f0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_59a343a8-59e9-462b-82e4-9d2b18e7c66e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_af88e3d5-7149-42db-bab1-3914569863bf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9c2114c0-3e81-4284-ae71-cdccaf3667f0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_af88e3d5-7149-42db-bab1-3914569863bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_ad995a73-23f6-4e1a-aeee-f31470c01878" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9c2114c0-3e81-4284-ae71-cdccaf3667f0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_ad995a73-23f6-4e1a-aeee-f31470c01878" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_49f6f7f8-a023-4073-b3dd-c875269731f1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_Depreciation"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9c2114c0-3e81-4284-ae71-cdccaf3667f0" xlink:to="loc_us-gaap_Depreciation_49f6f7f8-a023-4073-b3dd-c875269731f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesNarrativeDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#LeasesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/LeasesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_e3599cf2-2153-46ad-bdc3-417aabe4a1b5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfOperatingLeasedAssetsTable_1da5d17a-a204-4e7d-b263-b2e9dd95255d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfOperatingLeasedAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e3599cf2-2153-46ad-bdc3-417aabe4a1b5" xlink:to="loc_us-gaap_ScheduleOfOperatingLeasedAssetsTable_1da5d17a-a204-4e7d-b263-b2e9dd95255d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_23f37342-df85-4f92-9ca9-3220ecf6b2be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfOperatingLeasedAssetsTable_1da5d17a-a204-4e7d-b263-b2e9dd95255d" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_23f37342-df85-4f92-9ca9-3220ecf6b2be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_7ad8b580-b808-494e-8f32-aa03483c0ee5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_23f37342-df85-4f92-9ca9-3220ecf6b2be" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_7ad8b580-b808-494e-8f32-aa03483c0ee5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RealEstateMember_be269747-74b0-4baf-a5ec-633e506dc217" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RealEstateMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_7ad8b580-b808-494e-8f32-aa03483c0ee5" xlink:to="loc_us-gaap_RealEstateMember_be269747-74b0-4baf-a5ec-633e506dc217" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasedAssetsLineItems_f0f6f7c4-c555-4535-b5b1-5dbb2c33e6cf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasedAssetsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfOperatingLeasedAssetsTable_1da5d17a-a204-4e7d-b263-b2e9dd95255d" xlink:to="loc_us-gaap_OperatingLeasedAssetsLineItems_f0f6f7c4-c555-4535-b5b1-5dbb2c33e6cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LesseeOperatingLeaseInterestRateEffectiveRate_3c44e51c-9594-436a-84d8-2371838c66ca" xlink:href="efoi-20230331.xsd#efoi_LesseeOperatingLeaseInterestRateEffectiveRate"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasedAssetsLineItems_f0f6f7c4-c555-4535-b5b1-5dbb2c33e6cf" xlink:to="loc_efoi_LesseeOperatingLeaseInterestRateEffectiveRate_3c44e51c-9594-436a-84d8-2371838c66ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseDiscountRate_c1569c6a-d4aa-49c8-a984-dbc1cbd6b833" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseDiscountRate"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasedAssetsLineItems_f0f6f7c4-c555-4535-b5b1-5dbb2c33e6cf" xlink:to="loc_us-gaap_LesseeOperatingLeaseDiscountRate_c1569c6a-d4aa-49c8-a984-dbc1cbd6b833" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_9b266f10-9111-4c72-8515-e113fa205f47" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasedAssetsLineItems_f0f6f7c4-c555-4535-b5b1-5dbb2c33e6cf" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_9b266f10-9111-4c72-8515-e113fa205f47" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#LeasesComponentsofLeaseCostDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_eed30a55-a2fc-4aa9-874c-bca91fc2cc34" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubleaseIncome_ec566992-2a37-4320-840a-a869ba164bfa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubleaseIncome"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_eed30a55-a2fc-4aa9-874c-bca91fc2cc34" xlink:to="loc_us-gaap_SubleaseIncome_ec566992-2a37-4320-840a-a869ba164bfa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_6ba1528f-8dcc-43c0-9645-d8e819db7cad" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseCost"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_eed30a55-a2fc-4aa9-874c-bca91fc2cc34" xlink:to="loc_us-gaap_OperatingLeaseCost_6ba1528f-8dcc-43c0-9645-d8e819db7cad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome_d484afa9-221d-4135-a9de-6bdee8ec8a04" xlink:href="efoi-20230331.xsd#efoi_OperatingLeaseCostNetOfSubleaseIncome"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_eed30a55-a2fc-4aa9-874c-bca91fc2cc34" xlink:to="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome_d484afa9-221d-4135-a9de-6bdee8ec8a04" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#LeasesScheduleofSupplementalBalanceSheetInformationDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_091a0c01-293a-42b2-a0a8-3120f1c0402f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_0457ee54-2cc7-4ad3-b2a2-db1c2eb1eb0e" xlink:href="efoi-20230331.xsd#efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_091a0c01-293a-42b2-a0a8-3120f1c0402f" xlink:to="loc_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_0457ee54-2cc7-4ad3-b2a2-db1c2eb1eb0e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_1d8d8288-f6b7-4790-a0bd-c645e8a9d0f3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_0457ee54-2cc7-4ad3-b2a2-db1c2eb1eb0e" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_1d8d8288-f6b7-4790-a0bd-c645e8a9d0f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_f7599da7-843d-4b5d-bab3-265d1470d0ed" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_0457ee54-2cc7-4ad3-b2a2-db1c2eb1eb0e" xlink:to="loc_us-gaap_OperatingLeaseLiability_f7599da7-843d-4b5d-bab3-265d1470d0ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_4ad4461a-2ed5-46a5-93f1-27f374cd8318" xlink:href="efoi-20230331.xsd#efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_091a0c01-293a-42b2-a0a8-3120f1c0402f" xlink:to="loc_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_4ad4461a-2ed5-46a5-93f1-27f374cd8318" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseRightOfUseAssetGross_8ce232d7-02e8-47e1-b2ba-6007a63dfba6" xlink:href="efoi-20230331.xsd#efoi_FinanceLeaseRightOfUseAssetGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_4ad4461a-2ed5-46a5-93f1-27f374cd8318" xlink:to="loc_efoi_FinanceLeaseRightOfUseAssetGross_8ce232d7-02e8-47e1-b2ba-6007a63dfba6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_f9b67cfe-f23e-496c-b157-202db0e4aa5c" xlink:href="efoi-20230331.xsd#efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_4ad4461a-2ed5-46a5-93f1-27f374cd8318" xlink:to="loc_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_f9b67cfe-f23e-496c-b157-202db0e4aa5c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAsset_f22c791e-b33a-43be-81fb-02c4e615967f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeaseRightOfUseAsset"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_4ad4461a-2ed5-46a5-93f1-27f374cd8318" xlink:to="loc_us-gaap_FinanceLeaseRightOfUseAsset_f22c791e-b33a-43be-81fb-02c4e615967f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_cecc185c-f883-4c8e-8457-9c8e14b67989" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_96832de9-2c98-49c6-b2fe-2b4954ede032" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_cecc185c-f883-4c8e-8457-9c8e14b67989" xlink:to="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_96832de9-2c98-49c6-b2fe-2b4954ede032" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_12451dcd-d1d5-4246-859c-907fd701f842" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_96832de9-2c98-49c6-b2fe-2b4954ede032" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_12451dcd-d1d5-4246-859c-907fd701f842" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_7b4e5d68-8d5c-44bf-ae9a-f29702a1f522" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_96832de9-2c98-49c6-b2fe-2b4954ede032" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_7b4e5d68-8d5c-44bf-ae9a-f29702a1f522" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_dcbd6a6e-0299-43ea-8f87-1999f3ed07ca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_96832de9-2c98-49c6-b2fe-2b4954ede032" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_dcbd6a6e-0299-43ea-8f87-1999f3ed07ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_9b6db3f1-ba55-4f7e-9453-93aac13460f1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_96832de9-2c98-49c6-b2fe-2b4954ede032" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_9b6db3f1-ba55-4f7e-9453-93aac13460f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_bd3216af-f2a3-404e-8248-eff283ebaa92" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_96832de9-2c98-49c6-b2fe-2b4954ede032" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_bd3216af-f2a3-404e-8248-eff283ebaa92" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_b56676ce-f84c-42d8-8e42-126e61701ece" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_96832de9-2c98-49c6-b2fe-2b4954ede032" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_b56676ce-f84c-42d8-8e42-126e61701ece" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_1af25640-b6ee-4088-888d-8f63b7404de0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_96832de9-2c98-49c6-b2fe-2b4954ede032" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_1af25640-b6ee-4088-888d-8f63b7404de0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_1b9cdfc3-8580-492e-80b8-194f38c96c64" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_96832de9-2c98-49c6-b2fe-2b4954ede032" xlink:to="loc_us-gaap_OperatingLeaseLiability_1b9cdfc3-8580-492e-80b8-194f38c96c64" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1" xlink:type="simple" xlink:href="efoi-20230331.xsd#LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalCashFlowInformationDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#LeasesScheduleofSupplementalCashFlowInformationDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalCashFlowInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_8b82b0d9-e6bf-4a65-8243-ae12ce1bdaeb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments_d9497f2b-53c6-48a9-97c1-177e0b78cff5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLeasePayments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_8b82b0d9-e6bf-4a65-8243-ae12ce1bdaeb" xlink:to="loc_us-gaap_OperatingLeasePayments_d9497f2b-53c6-48a9-97c1-177e0b78cff5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments_1010247d-d879-4b4d-bc8d-cfab12cbfab6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_FinanceLeasePrincipalPayments"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_8b82b0d9-e6bf-4a65-8243-ae12ce1bdaeb" xlink:to="loc_us-gaap_FinanceLeasePrincipalPayments_1010247d-d879-4b4d-bc8d-cfab12cbfab6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#DebtCreditFacilitiesDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_367337bd-d57e-4d4b-8014-e5c002808bed" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityTable_acd33e38-a2ce-4854-b92b-7feaa23ed0b7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_367337bd-d57e-4d4b-8014-e5c002808bed" xlink:to="loc_us-gaap_LineOfCreditFacilityTable_acd33e38-a2ce-4854-b92b-7feaa23ed0b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_12e61854-db62-4481-9d0c-dba78cbf9cfe" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_acd33e38-a2ce-4854-b92b-7feaa23ed0b7" xlink:to="loc_us-gaap_CreditFacilityAxis_12e61854-db62-4481-9d0c-dba78cbf9cfe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_a848bc2d-e4e8-4075-8f30-f573a8184e0e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CreditFacilityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_12e61854-db62-4481-9d0c-dba78cbf9cfe" xlink:to="loc_us-gaap_CreditFacilityDomain_a848bc2d-e4e8-4075-8f30-f573a8184e0e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_05f7a9a7-e388-4c2c-b375-3c1fa303898a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_a848bc2d-e4e8-4075-8f30-f573a8184e0e" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_05f7a9a7-e388-4c2c-b375-3c1fa303898a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_50422771-5adb-461a-88e9-4e790dafae43" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_acd33e38-a2ce-4854-b92b-7feaa23ed0b7" xlink:to="loc_us-gaap_DebtInstrumentAxis_50422771-5adb-461a-88e9-4e790dafae43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_fce56d55-0954-4882-94ff-46671487aaba" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_50422771-5adb-461a-88e9-4e790dafae43" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_fce56d55-0954-4882-94ff-46671487aaba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryFacilityMember_34682812-93b5-4c25-8ab3-6531765d27da" xlink:href="efoi-20230331.xsd#efoi_InventoryFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_fce56d55-0954-4882-94ff-46671487aaba" xlink:to="loc_efoi_InventoryFacilityMember_34682812-93b5-4c25-8ab3-6531765d27da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_SecondAmendmentToInventoryFacilityMember_f9c93387-87a1-4375-97ac-7f594c57a682" xlink:href="efoi-20230331.xsd#efoi_SecondAmendmentToInventoryFacilityMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_fce56d55-0954-4882-94ff-46671487aaba" xlink:to="loc_efoi_SecondAmendmentToInventoryFacilityMember_f9c93387-87a1-4375-97ac-7f594c57a682" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ReceivablesFacilityMember_3893b01b-f628-44a0-bb1f-84fcace26a11" xlink:href="efoi-20230331.xsd#efoi_ReceivablesFacilityMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_fce56d55-0954-4882-94ff-46671487aaba" xlink:to="loc_efoi_ReceivablesFacilityMember_3893b01b-f628-44a0-bb1f-84fcace26a11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_8e67b446-2202-42a9-9ad7-2f38d31c76d5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_acd33e38-a2ce-4854-b92b-7feaa23ed0b7" xlink:to="loc_us-gaap_VariableRateAxis_8e67b446-2202-42a9-9ad7-2f38d31c76d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_31d008f6-7c27-4ae3-936f-dfef4388a2bc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_VariableRateDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateAxis_8e67b446-2202-42a9-9ad7-2f38d31c76d5" xlink:to="loc_us-gaap_VariableRateDomain_31d008f6-7c27-4ae3-936f-dfef4388a2bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_fbc86415-7aba-4bd2-ad07-27ada05cf47c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_31d008f6-7c27-4ae3-936f-dfef4388a2bc" xlink:to="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_fbc86415-7aba-4bd2-ad07-27ada05cf47c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_a1a705ef-268d-4c46-a438-3ea19a191aae" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_31d008f6-7c27-4ae3-936f-dfef4388a2bc" xlink:to="loc_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_a1a705ef-268d-4c46-a438-3ea19a191aae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_acd33e38-a2ce-4854-b92b-7feaa23ed0b7" xlink:to="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentNumberOfCreditFacilities_db6a20ec-765d-48b6-ba9d-5244388fe811" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentNumberOfCreditFacilities"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_efoi_DebtInstrumentNumberOfCreditFacilities_db6a20ec-765d-48b6-ba9d-5244388fe811" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_89df3a02-0fb7-442f-bcfc-84114373e68e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_89df3a02-0fb7-442f-bcfc-84114373e68e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_19b021cd-1940-4e5c-9e2b-036f202ef00b" xlink:href="efoi-20230331.xsd#efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_19b021cd-1940-4e5c-9e2b-036f202ef00b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_dd1254ec-be77-4adf-a15e-065153ecf80f" xlink:href="efoi-20230331.xsd#efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_dd1254ec-be77-4adf-a15e-065153ecf80f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt_d863e253-c951-4a6e-bb60-261652397f39" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_us-gaap_RepaymentsOfLongTermDebt_d863e253-c951-4a6e-bb60-261652397f39" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RepaymentOfRemainingLongTermDebt_cdafebb1-70e6-46b9-9582-1958a232044f" xlink:href="efoi-20230331.xsd#efoi_RepaymentOfRemainingLongTermDebt"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_efoi_RepaymentOfRemainingLongTermDebt_cdafebb1-70e6-46b9-9582-1958a232044f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_fdb8c907-9bc8-434c-a4a2-cb11a1fbcc8e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_fdb8c907-9bc8-434c-a4a2-cb11a1fbcc8e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateDuringPeriod_92f01ee8-703f-4836-842b-afe899d432a8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_us-gaap_DebtInstrumentInterestRateDuringPeriod_92f01ee8-703f-4836-842b-afe899d432a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage_4788b23a-7ff0-451d-ab36-0530029cf647" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage_4788b23a-7ff0-451d-ab36-0530029cf647" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_9ae6995a-802b-4f7d-8d2d-fafea637b81d" xlink:href="efoi-20230331.xsd#efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_9ae6995a-802b-4f7d-8d2d-fafea637b81d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LinesOfCreditCurrent_dd587f13-4889-4eb5-92e3-03e65e0da813" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LinesOfCreditCurrent"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_us-gaap_LinesOfCreditCurrent_dd587f13-4889-4eb5-92e3-03e65e0da813" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnamortizedDebtIssuanceExpense_41cee0ed-11b3-43ed-a6f8-9235448ab42f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_UnamortizedDebtIssuanceExpense"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_21591e22-41ba-418c-b197-d2ae66425377" xlink:to="loc_us-gaap_UnamortizedDebtIssuanceExpense_41cee0ed-11b3-43ed-a6f8-9235448ab42f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtPromissoryNoteNarrativeDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#DebtPromissoryNoteNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/DebtPromissoryNoteNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_2bd15b44-4c4e-4258-8949-d29b7d4da5e4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_66c75bf6-b3b1-4c40-95f8-da0aaa108b2c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_2bd15b44-4c4e-4258-8949-d29b7d4da5e4" xlink:to="loc_us-gaap_DebtInstrumentTable_66c75bf6-b3b1-4c40-95f8-da0aaa108b2c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionAxis_48063ff7-f14b-482b-a324-beeae5bfea9a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_66c75bf6-b3b1-4c40-95f8-da0aaa108b2c" xlink:to="loc_us-gaap_RelatedPartyTransactionAxis_48063ff7-f14b-482b-a324-beeae5bfea9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionDomain_7339d4d7-ed15-4fe6-8e44-d1dce2209ecc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionAxis_48063ff7-f14b-482b-a324-beeae5bfea9a" xlink:to="loc_us-gaap_RelatedPartyTransactionDomain_7339d4d7-ed15-4fe6-8e44-d1dce2209ecc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A2022PromissoryNoteMember_43686aa1-a831-4dea-87b1-160428ad18cd" xlink:href="efoi-20230331.xsd#efoi_A2022PromissoryNoteMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionDomain_7339d4d7-ed15-4fe6-8e44-d1dce2209ecc" xlink:to="loc_efoi_A2022PromissoryNoteMember_43686aa1-a831-4dea-87b1-160428ad18cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_5be77343-7df9-478c-b324-5a067c57637e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_66c75bf6-b3b1-4c40-95f8-da0aaa108b2c" xlink:to="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_5be77343-7df9-478c-b324-5a067c57637e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyDomain_b24fe39e-9fd4-4816-9469-79cf77eaad2b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_5be77343-7df9-478c-b324-5a067c57637e" xlink:to="loc_us-gaap_RelatedPartyDomain_b24fe39e-9fd4-4816-9469-79cf77eaad2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_DirectorMember_505fba2b-b8d7-476d-920a-b01bdf98ef28" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_DirectorMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyDomain_b24fe39e-9fd4-4816-9469-79cf77eaad2b" xlink:to="loc_srt_DirectorMember_505fba2b-b8d7-476d-920a-b01bdf98ef28" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_69727ccf-af6f-4198-a5ee-d455852179aa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_66c75bf6-b3b1-4c40-95f8-da0aaa108b2c" xlink:to="loc_us-gaap_DebtInstrumentLineItems_69727ccf-af6f-4198-a5ee-d455852179aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DueToRelatedPartiesCurrentAndNoncurrent_1f8d59bc-0cef-45c4-a0e0-2731ba663838" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DueToRelatedPartiesCurrentAndNoncurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_69727ccf-af6f-4198-a5ee-d455852179aa" xlink:to="loc_us-gaap_DueToRelatedPartiesCurrentAndNoncurrent_1f8d59bc-0cef-45c4-a0e0-2731ba663838" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#DebtPromissoryNotesDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_b875d257-1691-4e6a-bd51-493fe79684ed" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_b348a566-0b23-4723-a9b2-7a68a0ce4c1b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_b875d257-1691-4e6a-bd51-493fe79684ed" xlink:to="loc_us-gaap_DebtInstrumentTable_b348a566-0b23-4723-a9b2-7a68a0ce4c1b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_6b4313d7-a4e4-44b9-a3d6-f9cd4500c285" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_b348a566-0b23-4723-a9b2-7a68a0ce4c1b" xlink:to="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_6b4313d7-a4e4-44b9-a3d6-f9cd4500c285" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyDomain_177c9b62-0596-4dc8-8085-dcac7bb5aa31" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_6b4313d7-a4e4-44b9-a3d6-f9cd4500c285" xlink:to="loc_us-gaap_RelatedPartyDomain_177c9b62-0596-4dc8-8085-dcac7bb5aa31" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GHuangDirectorMember_937dd5ed-4e52-41f9-be93-4ca8c3386f66" xlink:href="efoi-20230331.xsd#efoi_GHuangDirectorMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyDomain_177c9b62-0596-4dc8-8085-dcac7bb5aa31" xlink:to="loc_efoi_GHuangDirectorMember_937dd5ed-4e52-41f9-be93-4ca8c3386f66" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_JHuangDirectorMember_3d299ae5-8d34-44b6-9b79-a08744cca6cc" xlink:href="efoi-20230331.xsd#efoi_JHuangDirectorMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyDomain_177c9b62-0596-4dc8-8085-dcac7bb5aa31" xlink:to="loc_efoi_JHuangDirectorMember_3d299ae5-8d34-44b6-9b79-a08744cca6cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TLinDirectorsMember_b05eb13a-d39d-459d-af9e-998641b867be" xlink:href="efoi-20230331.xsd#efoi_TLinDirectorsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyDomain_177c9b62-0596-4dc8-8085-dcac7bb5aa31" xlink:to="loc_efoi_TLinDirectorsMember_b05eb13a-d39d-459d-af9e-998641b867be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionAxis_403399f6-5e5a-40c5-80b6-ba1d4b31d361" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_b348a566-0b23-4723-a9b2-7a68a0ce4c1b" xlink:to="loc_us-gaap_RelatedPartyTransactionAxis_403399f6-5e5a-40c5-80b6-ba1d4b31d361" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionDomain_4f1be0dd-4aac-45a8-8d50-2380d65d5ad6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionAxis_403399f6-5e5a-40c5-80b6-ba1d4b31d361" xlink:to="loc_us-gaap_RelatedPartyTransactionDomain_4f1be0dd-4aac-45a8-8d50-2380d65d5ad6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TwentyTwentyTwoPromissoryNoteMember_e78b70c1-3a5b-4948-81fd-3c553a566107" xlink:href="efoi-20230331.xsd#efoi_TwentyTwentyTwoPromissoryNoteMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionDomain_4f1be0dd-4aac-45a8-8d50-2380d65d5ad6" xlink:to="loc_efoi_TwentyTwentyTwoPromissoryNoteMember_e78b70c1-3a5b-4948-81fd-3c553a566107" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentEnteredPeriodAxis_2c743448-4f55-411d-b289-44f1c3480e30" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentEnteredPeriodAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_b348a566-0b23-4723-a9b2-7a68a0ce4c1b" xlink:to="loc_efoi_DebtInstrumentEnteredPeriodAxis_2c743448-4f55-411d-b289-44f1c3480e30" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentEnteredPeriodDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodAxis_2c743448-4f55-411d-b289-44f1c3480e30" xlink:to="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredOneMember_06d6112e-fa0e-45a8-aa57-d931b46e3164" xlink:href="efoi-20230331.xsd#efoi_DateEnteredOneMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:to="loc_efoi_DateEnteredOneMember_06d6112e-fa0e-45a8-aa57-d931b46e3164" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredTwoMember_5b47c1c3-ab7f-4fc9-9653-24cec095f6c9" xlink:href="efoi-20230331.xsd#efoi_DateEnteredTwoMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:to="loc_efoi_DateEnteredTwoMember_5b47c1c3-ab7f-4fc9-9653-24cec095f6c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredThreeMember_1180f379-2463-4933-a5c8-ddb934226cad" xlink:href="efoi-20230331.xsd#efoi_DateEnteredThreeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:to="loc_efoi_DateEnteredThreeMember_1180f379-2463-4933-a5c8-ddb934226cad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredFourMember_90282f51-e445-4126-9f26-c92da81edde1" xlink:href="efoi-20230331.xsd#efoi_DateEnteredFourMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:to="loc_efoi_DateEnteredFourMember_90282f51-e445-4126-9f26-c92da81edde1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredFiveMember_7d8e9fba-4f86-4efb-a16e-cd476a3d2347" xlink:href="efoi-20230331.xsd#efoi_DateEnteredFiveMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:to="loc_efoi_DateEnteredFiveMember_7d8e9fba-4f86-4efb-a16e-cd476a3d2347" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredSixMember_9ae9e352-5196-4136-bd46-f8cd2ac24de3" xlink:href="efoi-20230331.xsd#efoi_DateEnteredSixMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:to="loc_efoi_DateEnteredSixMember_9ae9e352-5196-4136-bd46-f8cd2ac24de3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DateEnteredSevenMember_b4a031aa-da40-456f-8b38-c7531a53952c" xlink:href="efoi-20230331.xsd#efoi_DateEnteredSevenMember"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_DebtInstrumentEnteredPeriodDomain_ac954d3d-dcad-46ff-b404-c20187f87d15" xlink:to="loc_efoi_DateEnteredSevenMember_b4a031aa-da40-456f-8b38-c7531a53952c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_4ce91f67-379a-4691-9194-de67a922debc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_b348a566-0b23-4723-a9b2-7a68a0ce4c1b" xlink:to="loc_us-gaap_DebtInstrumentLineItems_4ce91f67-379a-4691-9194-de67a922debc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTerm_ba9d0532-d9fb-4bb2-8774-19050703af20" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTerm"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_4ce91f67-379a-4691-9194-de67a922debc" xlink:to="loc_us-gaap_DebtInstrumentTerm_ba9d0532-d9fb-4bb2-8774-19050703af20" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_b32dd088-d2c4-4de1-b0d4-79c59de39c7a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_4ce91f67-379a-4691-9194-de67a922debc" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_b32dd088-d2c4-4de1-b0d4-79c59de39c7a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_29ad9f8f-4fc5-410f-a7b0-244313dec13f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_4ce91f67-379a-4691-9194-de67a922debc" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_29ad9f8f-4fc5-410f-a7b0-244313dec13f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateDuringPeriod_61bf86de-42c5-40eb-bf16-e27028681dbc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateDuringPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_4ce91f67-379a-4691-9194-de67a922debc" xlink:to="loc_us-gaap_DebtInstrumentInterestRateDuringPeriod_61bf86de-42c5-40eb-bf16-e27028681dbc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionAmountsOfTransaction_dedd5534-2c20-489c-9f80-a033381b279c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RelatedPartyTransactionAmountsOfTransaction"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_4ce91f67-379a-4691-9194-de67a922debc" xlink:to="loc_us-gaap_RelatedPartyTransactionAmountsOfTransaction_dedd5534-2c20-489c-9f80-a033381b279c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#DebtStreetervilleNotesDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_aec37071-b3c4-4edb-add1-8be7532ba7d5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_b1857123-6a93-4d6f-9695-3cdb02dbe527" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_aec37071-b3c4-4edb-add1-8be7532ba7d5" xlink:to="loc_us-gaap_DebtInstrumentTable_b1857123-6a93-4d6f-9695-3cdb02dbe527" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_1814eb27-8682-44ec-90a4-435f605a3018" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_b1857123-6a93-4d6f-9695-3cdb02dbe527" xlink:to="loc_us-gaap_DebtInstrumentAxis_1814eb27-8682-44ec-90a4-435f605a3018" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_d5ba648a-a837-4197-9d77-a75748527a06" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_1814eb27-8682-44ec-90a4-435f605a3018" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_d5ba648a-a837-4197-9d77-a75748527a06" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A2022StreetervilleNoteMember_f22e33e6-97a7-4ca8-b49e-f9e350bc7169" xlink:href="efoi-20230331.xsd#efoi_A2022StreetervilleNoteMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_d5ba648a-a837-4197-9d77-a75748527a06" xlink:to="loc_efoi_A2022StreetervilleNoteMember_f22e33e6-97a7-4ca8-b49e-f9e350bc7169" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_March2023PartitionedNoteMember_6ab0d0c1-6304-4f88-8fa3-da55d345d47c" xlink:href="efoi-20230331.xsd#efoi_March2023PartitionedNoteMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_d5ba648a-a837-4197-9d77-a75748527a06" xlink:to="loc_efoi_March2023PartitionedNoteMember_6ab0d0c1-6304-4f88-8fa3-da55d345d47c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_StreetervilleNotePurchaseAgreementMember_559fc80e-4260-45b9-8bad-6892c01f1e42" xlink:href="efoi-20230331.xsd#efoi_StreetervilleNotePurchaseAgreementMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_d5ba648a-a837-4197-9d77-a75748527a06" xlink:to="loc_efoi_StreetervilleNotePurchaseAgreementMember_559fc80e-4260-45b9-8bad-6892c01f1e42" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A2021StreetervilleNoteMember_643cffaf-1416-444f-871c-3207380ddc37" xlink:href="efoi-20230331.xsd#efoi_A2021StreetervilleNoteMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_d5ba648a-a837-4197-9d77-a75748527a06" xlink:to="loc_efoi_A2021StreetervilleNoteMember_643cffaf-1416-444f-871c-3207380ddc37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementScenarioAxis_c0a1f155-069b-4c05-8b07-0c7883c53489" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_b1857123-6a93-4d6f-9695-3cdb02dbe527" xlink:to="loc_srt_StatementScenarioAxis_c0a1f155-069b-4c05-8b07-0c7883c53489" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioUnspecifiedDomain_a58cbe46-fc23-489c-8fca-5ef6e5d9b659" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementScenarioAxis_c0a1f155-069b-4c05-8b07-0c7883c53489" xlink:to="loc_srt_ScenarioUnspecifiedDomain_a58cbe46-fc23-489c-8fca-5ef6e5d9b659" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioForecastMember_fa53477c-8ad4-4960-b7f6-b43894eb5d28" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ScenarioUnspecifiedDomain_a58cbe46-fc23-489c-8fca-5ef6e5d9b659" xlink:to="loc_srt_ScenarioForecastMember_fa53477c-8ad4-4960-b7f6-b43894eb5d28" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_b1857123-6a93-4d6f-9695-3cdb02dbe527" xlink:to="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_ab02da0b-399e-4cb4-bfd0-8f3236497d3a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_ab02da0b-399e-4cb4-bfd0-8f3236497d3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscount_356292e1-c309-4627-a697-e344420e4f56" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentUnamortizedDiscount"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedDiscount_356292e1-c309-4627-a697-e344420e4f56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfDebt_e0bd4736-753f-4d64-a3fe-a750c7b86cf3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfDebt"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfDebt_e0bd4736-753f-4d64-a3fe-a750c7b86cf3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsGross_b3cdbaf0-0d77-4958-820b-6529f2fccf0f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredFinanceCostsGross"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_DeferredFinanceCostsGross_b3cdbaf0-0d77-4958-820b-6529f2fccf0f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_d2cfd767-d22c-49b9-8bb4-5dc7ab73ad42" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_d2cfd767-d22c-49b9-8bb4-5dc7ab73ad42" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentTrancheAmount_92ac7e05-ab45-42ee-bf3f-08679acec81d" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentTrancheAmount"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_efoi_DebtInstrumentTrancheAmount_92ac7e05-ab45-42ee-bf3f-08679acec81d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_92f35209-7282-4efa-ab57-9ab10ee887ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_92f35209-7282-4efa-ab57-9ab10ee887ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_0f42ef96-1fec-40d3-8a08-7f643a248d65" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_0f42ef96-1fec-40d3-8a08-7f643a248d65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange_25099c01-a73d-4062-aa92-d15514471d66" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange_25099c01-a73d-4062-aa92-d15514471d66" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount_96379ecc-b16b-4a15-b02e-5dcb532eacb1" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount_96379ecc-b16b-4a15-b02e-5dcb532eacb1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals_e09b4a14-936f-46de-a77f-5fac0c20fe15" xlink:href="efoi-20230331.xsd#efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals_e09b4a14-936f-46de-a77f-5fac0c20fe15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption_1ab4c7dc-dbdf-43d1-b7f7-3f9e386737dc" xlink:href="efoi-20230331.xsd#efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption_1ab4c7dc-dbdf-43d1-b7f7-3f9e386737dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost_870bd77b-cfd3-4ae2-b1a7-8e6f399d83d8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WriteOffOfDeferredDebtIssuanceCost"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_20c407d5-da47-4302-bf56-181fcd4d67bb" xlink:to="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost_870bd77b-cfd3-4ae2-b1a7-8e6f399d83d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/IncomeTaxesDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#IncomeTaxesDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/IncomeTaxesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_731efb6a-1e19-4ff5-91c2-f7543d57c184" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsTable_a0f3b0ba-9c77-4216-86ef-bbd463a52fdc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwardsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_731efb6a-1e19-4ff5-91c2-f7543d57c184" xlink:to="loc_us-gaap_OperatingLossCarryforwardsTable_a0f3b0ba-9c77-4216-86ef-bbd463a52fdc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_266be0af-54ae-425b-b0ca-db7968f3dd19" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_a0f3b0ba-9c77-4216-86ef-bbd463a52fdc" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_266be0af-54ae-425b-b0ca-db7968f3dd19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_37cd3588-df69-4b10-99ba-4d4a1737008d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_266be0af-54ae-425b-b0ca-db7968f3dd19" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_37cd3588-df69-4b10-99ba-4d4a1737008d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember_853b7b51-649e-4ffc-8be1-fbb10919564f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DomesticCountryMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_37cd3588-df69-4b10-99ba-4d4a1737008d" xlink:to="loc_us-gaap_DomesticCountryMember_853b7b51-649e-4ffc-8be1-fbb10919564f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember_48cad767-04b1-4bfc-88f7-8d60fb4cb3ce" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_37cd3588-df69-4b10-99ba-4d4a1737008d" xlink:to="loc_us-gaap_StateAndLocalJurisdictionMember_48cad767-04b1-4bfc-88f7-8d60fb4cb3ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsLineItems_e5562cec-db80-4eb2-9c4d-26da30d9f009" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwardsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_a0f3b0ba-9c77-4216-86ef-bbd463a52fdc" xlink:to="loc_us-gaap_OperatingLossCarryforwardsLineItems_e5562cec-db80-4eb2-9c4d-26da30d9f009" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_475e283c-a318-41c6-baaf-ec9da7ceefc7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e5562cec-db80-4eb2-9c4d-26da30d9f009" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_475e283c-a318-41c6-baaf-ec9da7ceefc7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_0e3023b5-e6fa-4581-86e9-2042a268ba9f" xlink:href="efoi-20230331.xsd#efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e5562cec-db80-4eb2-9c4d-26da30d9f009" xlink:to="loc_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_0e3023b5-e6fa-4581-86e9-2042a268ba9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards_ca2d20d4-0a76-43d0-9e1e-4f2c38016bd9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e5562cec-db80-4eb2-9c4d-26da30d9f009" xlink:to="loc_us-gaap_OperatingLossCarryforwards_ca2d20d4-0a76-43d0-9e1e-4f2c38016bd9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_dbf3206c-9397-4307-822f-4c8bd6640c35" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e5562cec-db80-4eb2-9c4d-26da30d9f009" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_dbf3206c-9397-4307-822f-4c8bd6640c35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityMarch2023PrivatePlacementsDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityMarch2023PrivatePlacementsDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityMarch2023PrivatePlacementsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_cc5426c4-1f6f-4b04-a493-355ae805f55e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b3fcf0c9-5ba5-4e3d-91e2-8305f5f58ec3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_cc5426c4-1f6f-4b04-a493-355ae805f55e" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b3fcf0c9-5ba5-4e3d-91e2-8305f5f58ec3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_9f0f3a46-d298-47f1-83ef-72015749ac9c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b3fcf0c9-5ba5-4e3d-91e2-8305f5f58ec3" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_9f0f3a46-d298-47f1-83ef-72015749ac9c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_c1e5da76-b454-4e9b-82ac-700cdf69f253" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_9f0f3a46-d298-47f1-83ef-72015749ac9c" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_c1e5da76-b454-4e9b-82ac-700cdf69f253" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_March2023PrivatePlacementMember_5fc27791-2dc5-4491-8b64-30cbe74563db" xlink:href="efoi-20230331.xsd#efoi_March2023PrivatePlacementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_c1e5da76-b454-4e9b-82ac-700cdf69f253" xlink:to="loc_efoi_March2023PrivatePlacementMember_5fc27791-2dc5-4491-8b64-30cbe74563db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bb680e2-1c15-4cd3-84c0-3c88f9024b3b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b3fcf0c9-5ba5-4e3d-91e2-8305f5f58ec3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bb680e2-1c15-4cd3-84c0-3c88f9024b3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_afcaa360-cec5-4b37-80ba-976991c97ab0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bb680e2-1c15-4cd3-84c0-3c88f9024b3b" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_afcaa360-cec5-4b37-80ba-976991c97ab0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_f67bdf33-ee2b-4650-9bb4-9cb69e9fd420" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bb680e2-1c15-4cd3-84c0-3c88f9024b3b" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_f67bdf33-ee2b-4650-9bb4-9cb69e9fd420" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_0e47a27a-4b33-44c6-be73-c929f1110ed1" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfPrivatePlacement"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1bb680e2-1c15-4cd3-84c0-3c88f9024b3b" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_0e47a27a-4b33-44c6-be73-c929f1110ed1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityFebruary2023PrivatePlacementDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityFebruary2023PrivatePlacementDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityFebruary2023PrivatePlacementDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_07e22bf1-60c0-47e3-ac5a-419e39734464" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8533a250-60e9-4179-b9d3-4d680c7c9cf0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_07e22bf1-60c0-47e3-ac5a-419e39734464" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8533a250-60e9-4179-b9d3-4d680c7c9cf0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_9a6d8fb5-ec16-4049-b813-6d004e10794e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8533a250-60e9-4179-b9d3-4d680c7c9cf0" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_9a6d8fb5-ec16-4049-b813-6d004e10794e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_58c18ee4-3635-416b-9017-7d9d8e9287ec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_9a6d8fb5-ec16-4049-b813-6d004e10794e" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_58c18ee4-3635-416b-9017-7d9d8e9287ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_February2023PrivatePlacementMember_43798db1-7ae8-418f-a67e-e233c8ae936f" xlink:href="efoi-20230331.xsd#efoi_February2023PrivatePlacementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_58c18ee4-3635-416b-9017-7d9d8e9287ec" xlink:to="loc_efoi_February2023PrivatePlacementMember_43798db1-7ae8-418f-a67e-e233c8ae936f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9e605865-46c0-439d-9345-b8b631eb8133" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8533a250-60e9-4179-b9d3-4d680c7c9cf0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9e605865-46c0-439d-9345-b8b631eb8133" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_afe8e444-087b-46d6-99fa-6128b1aa0d4c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9e605865-46c0-439d-9345-b8b631eb8133" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_afe8e444-087b-46d6-99fa-6128b1aa0d4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_b9cb377e-3fa5-45d7-b25b-ee1f178bdc46" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9e605865-46c0-439d-9345-b8b631eb8133" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_b9cb377e-3fa5-45d7-b25b-ee1f178bdc46" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_6e835ebc-5766-4983-84fb-44488f16a20a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfPrivatePlacement"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9e605865-46c0-439d-9345-b8b631eb8133" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_6e835ebc-5766-4983-84fb-44488f16a20a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_edb87c0e-8c22-4a8e-912b-0c7b46b03c2a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_58a5bf52-6353-4a7a-b062-01299022ecd2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_edb87c0e-8c22-4a8e-912b-0c7b46b03c2a" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_58a5bf52-6353-4a7a-b062-01299022ecd2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_a4fa6890-c1d1-42a7-88b3-c938603b34be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_58a5bf52-6353-4a7a-b062-01299022ecd2" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_a4fa6890-c1d1-42a7-88b3-c938603b34be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_99ee8ae3-b5b7-45fa-a94c-8d2dc016578a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_a4fa6890-c1d1-42a7-88b3-c938603b34be" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_99ee8ae3-b5b7-45fa-a94c-8d2dc016578a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2023SanderElectronicsPrivatePlacementMember_d424a335-5ea9-4aee-bf2e-f2de2925378d" xlink:href="efoi-20230331.xsd#efoi_January2023SanderElectronicsPrivatePlacementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_99ee8ae3-b5b7-45fa-a94c-8d2dc016578a" xlink:to="loc_efoi_January2023SanderElectronicsPrivatePlacementMember_d424a335-5ea9-4aee-bf2e-f2de2925378d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermDebtTypeAxis_22b86081-f36d-4f7e-ad06-77f0cef9c3ea" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_58a5bf52-6353-4a7a-b062-01299022ecd2" xlink:to="loc_us-gaap_ShortTermDebtTypeAxis_22b86081-f36d-4f7e-ad06-77f0cef9c3ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermDebtTypeDomain_323fb8c2-3367-4276-a277-48badc0e5015" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShortTermDebtTypeAxis_22b86081-f36d-4f7e-ad06-77f0cef9c3ea" xlink:to="loc_us-gaap_ShortTermDebtTypeDomain_323fb8c2-3367-4276-a277-48badc0e5015" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BridgeLoanMember_39c3746d-b3bc-40cc-9e28-e4d996f34b2a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_BridgeLoanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShortTermDebtTypeDomain_323fb8c2-3367-4276-a277-48badc0e5015" xlink:to="loc_us-gaap_BridgeLoanMember_39c3746d-b3bc-40cc-9e28-e4d996f34b2a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_355665dc-08b6-4b58-b28d-6c220b9281d6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_58a5bf52-6353-4a7a-b062-01299022ecd2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_355665dc-08b6-4b58-b28d-6c220b9281d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_7f557832-2232-45d8-98ff-8a4f73a9ea1c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_355665dc-08b6-4b58-b28d-6c220b9281d6" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_7f557832-2232-45d8-98ff-8a4f73a9ea1c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_13605eb3-2f36-4c10-bc20-c275b75f4608" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_355665dc-08b6-4b58-b28d-6c220b9281d6" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_13605eb3-2f36-4c10-bc20-c275b75f4608" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermBorrowings_c2541826-2abd-41c4-b6ce-2a1991b2d5fa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShortTermBorrowings"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_355665dc-08b6-4b58-b28d-6c220b9281d6" xlink:to="loc_us-gaap_ShortTermBorrowings_c2541826-2abd-41c4-b6ce-2a1991b2d5fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_1629ac79-ac9b-44ee-abc8-ba9b65d693e0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfPrivatePlacement"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_355665dc-08b6-4b58-b28d-6c220b9281d6" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_1629ac79-ac9b-44ee-abc8-ba9b65d693e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_1a5a422e-b090-4717-9a6a-d7830a9dce82" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1848bf4a-aa3a-4985-bf5b-9e51bdaa4963" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_1a5a422e-b090-4717-9a6a-d7830a9dce82" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1848bf4a-aa3a-4985-bf5b-9e51bdaa4963" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_6ea3a80d-a7b4-44fe-9617-c136f8fe078a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1848bf4a-aa3a-4985-bf5b-9e51bdaa4963" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_6ea3a80d-a7b4-44fe-9617-c136f8fe078a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_44614536-35f7-4718-ae9d-20248eba882a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_6ea3a80d-a7b4-44fe-9617-c136f8fe078a" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_44614536-35f7-4718-ae9d-20248eba882a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2023TransactionsWithMeiYunGinaHuangMember_eea11947-6347-435b-b874-222f9e2f5b02" xlink:href="efoi-20230331.xsd#efoi_January2023TransactionsWithMeiYunGinaHuangMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_44614536-35f7-4718-ae9d-20248eba882a" xlink:to="loc_efoi_January2023TransactionsWithMeiYunGinaHuangMember_eea11947-6347-435b-b874-222f9e2f5b02" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f5078c41-5a5f-4d7f-8ead-dc2fb6de19a7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_1848bf4a-aa3a-4985-bf5b-9e51bdaa4963" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f5078c41-5a5f-4d7f-8ead-dc2fb6de19a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_164d2f8b-c98b-4b6b-ba98-f8d618307039" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f5078c41-5a5f-4d7f-8ead-dc2fb6de19a7" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_164d2f8b-c98b-4b6b-ba98-f8d618307039" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_c7706a80-0cf9-41a7-b8ed-a660746c94cd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f5078c41-5a5f-4d7f-8ead-dc2fb6de19a7" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_c7706a80-0cf9-41a7-b8ed-a660746c94cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_1f0efa06-eae1-41b1-8e64-8e7aab3f0090" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfPrivatePlacement"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_f5078c41-5a5f-4d7f-8ead-dc2fb6de19a7" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfPrivatePlacement_1f0efa06-eae1-41b1-8e64-8e7aab3f0090" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityJune2022PrivatePlacementDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_72b04c4f-c787-4755-a753-dc741a86ab4f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_dcb30bb2-4ec6-4948-bf4f-be2a9d9a7a7d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_72b04c4f-c787-4755-a753-dc741a86ab4f" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_dcb30bb2-4ec6-4948-bf4f-be2a9d9a7a7d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_b3e74d1c-7400-49bd-8a4c-d36ffd5df453" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_dcb30bb2-4ec6-4948-bf4f-be2a9d9a7a7d" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_b3e74d1c-7400-49bd-8a4c-d36ffd5df453" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_80e0e2e1-6f8f-4e91-bdd9-13f9fb70011d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_b3e74d1c-7400-49bd-8a4c-d36ffd5df453" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_80e0e2e1-6f8f-4e91-bdd9-13f9fb70011d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_June2022PrivatePlacementMember_20f6c023-e429-46cb-ac1c-94dcf3c5f741" xlink:href="efoi-20230331.xsd#efoi_June2022PrivatePlacementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_80e0e2e1-6f8f-4e91-bdd9-13f9fb70011d" xlink:to="loc_efoi_June2022PrivatePlacementMember_20f6c023-e429-46cb-ac1c-94dcf3c5f741" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightAxis_7ff2a00b-d430-432a-a8d9-3c64664aea08" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_dcb30bb2-4ec6-4948-bf4f-be2a9d9a7a7d" xlink:to="loc_us-gaap_ClassOfWarrantOrRightAxis_7ff2a00b-d430-432a-a8d9-3c64664aea08" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_a6646b99-db7b-43b5-bf34-5fd52f3358f4" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_7ff2a00b-d430-432a-a8d9-3c64664aea08" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_a6646b99-db7b-43b5-bf34-5fd52f3358f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PreFundedWarrantsMember_74b559de-404f-45a9-b281-12538bbc0edb" xlink:href="efoi-20230331.xsd#efoi_PreFundedWarrantsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_a6646b99-db7b-43b5-bf34-5fd52f3358f4" xlink:to="loc_efoi_PreFundedWarrantsMember_74b559de-404f-45a9-b281-12538bbc0edb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember_9378676f-e89d-4428-94fe-4b4a9434cb12" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WarrantMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_a6646b99-db7b-43b5-bf34-5fd52f3358f4" xlink:to="loc_us-gaap_WarrantMember_9378676f-e89d-4428-94fe-4b4a9434cb12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_dcb30bb2-4ec6-4948-bf4f-be2a9d9a7a7d" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_68d960eb-003d-41b6-8c6a-5f15f7bddb37" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_68d960eb-003d-41b6-8c6a-5f15f7bddb37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_af336c6a-8697-4161-85f4-6a56380ebb4c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_af336c6a-8697-4161-85f4-6a56380ebb4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_6ee8d44e-35ae-4895-aaf7-9f6aed05370a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_6ee8d44e-35ae-4895-aaf7-9f6aed05370a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_e2e9060f-1f28-49e2-be17-ed3a80bf5d51" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_e2e9060f-1f28-49e2-be17-ed3a80bf5d51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForPlacementAgentCommissions_6c1fbc65-2410-4d3b-b712-a0e54eefddbf" xlink:href="efoi-20230331.xsd#efoi_PaymentsForPlacementAgentCommissions"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_efoi_PaymentsForPlacementAgentCommissions_6c1fbc65-2410-4d3b-b712-a0e54eefddbf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_33bb6976-0d63-450e-bb5d-40da31dc2a1b" xlink:href="efoi-20230331.xsd#efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_33bb6976-0d63-450e-bb5d-40da31dc2a1b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForClearingFees_83696813-692d-48e9-ab9d-85b7684c9036" xlink:href="efoi-20230331.xsd#efoi_PaymentsForClearingFees"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_efoi_PaymentsForClearingFees_83696813-692d-48e9-ab9d-85b7684c9036" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts_e60ec1c2-fd58-4785-8bd1-5abdf5c40e3f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_us-gaap_PaymentsOfStockIssuanceCosts_e60ec1c2-fd58-4785-8bd1-5abdf5c40e3f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_4d53f50c-2b9d-4878-83fe-94a18940af4d" xlink:href="efoi-20230331.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_4d53f50c-2b9d-4878-83fe-94a18940af4d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_39033ee3-16c4-4b22-afea-619cb289becd" xlink:href="efoi-20230331.xsd#efoi_EstimatedProceedsFromIssuanceOfWarrants"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_05e31a00-649c-468a-8d9f-57c74e6a302c" xlink:to="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_39033ee3-16c4-4b22-afea-619cb289becd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityDecember2021PrivatePlacementDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_4cbf133d-6d0b-4ead-ae34-214025f807bb" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f6447931-ca37-49fa-a531-579a0ca3f06c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_4cbf133d-6d0b-4ead-ae34-214025f807bb" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f6447931-ca37-49fa-a531-579a0ca3f06c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_ea6d26d7-e155-4d56-a7fc-4f47be0ed535" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f6447931-ca37-49fa-a531-579a0ca3f06c" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_ea6d26d7-e155-4d56-a7fc-4f47be0ed535" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_af7c5bd3-76e1-4b2a-b502-76fc0f964468" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_ea6d26d7-e155-4d56-a7fc-4f47be0ed535" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_af7c5bd3-76e1-4b2a-b502-76fc0f964468" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_December2021PrivatePlacementMember_a8074be3-fa7c-4746-8477-324f60e47800" xlink:href="efoi-20230331.xsd#efoi_December2021PrivatePlacementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_af7c5bd3-76e1-4b2a-b502-76fc0f964468" xlink:to="loc_efoi_December2021PrivatePlacementMember_a8074be3-fa7c-4746-8477-324f60e47800" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightAxis_0c9456c2-b678-42c0-aaa2-ed70f774202c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f6447931-ca37-49fa-a531-579a0ca3f06c" xlink:to="loc_us-gaap_ClassOfWarrantOrRightAxis_0c9456c2-b678-42c0-aaa2-ed70f774202c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_5ad5d0d4-667b-4f06-bdcb-df1ea07f81ed" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_0c9456c2-b678-42c0-aaa2-ed70f774202c" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_5ad5d0d4-667b-4f06-bdcb-df1ea07f81ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PreFundedWarrantsMember_656da39e-1235-4aee-8b1b-e5e24ae791f2" xlink:href="efoi-20230331.xsd#efoi_PreFundedWarrantsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_5ad5d0d4-667b-4f06-bdcb-df1ea07f81ed" xlink:to="loc_efoi_PreFundedWarrantsMember_656da39e-1235-4aee-8b1b-e5e24ae791f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember_3ee4c1c3-be60-4927-9ce6-9ab83fd3c5be" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_WarrantMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_5ad5d0d4-667b-4f06-bdcb-df1ea07f81ed" xlink:to="loc_us-gaap_WarrantMember_3ee4c1c3-be60-4927-9ce6-9ab83fd3c5be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f6447931-ca37-49fa-a531-579a0ca3f06c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_34892669-354b-4b71-bf04-6ca5dbba158c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_34892669-354b-4b71-bf04-6ca5dbba158c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_b370f505-5c53-4614-af32-703dca439846" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_b370f505-5c53-4614-af32-703dca439846" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_9223cbbf-e48f-45c1-bd51-005827925783" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_9223cbbf-e48f-45c1-bd51-005827925783" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_cfabfe53-e0e9-49d7-9adb-5b9a410b95bc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_cfabfe53-e0e9-49d7-9adb-5b9a410b95bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForPlacementAgentCommissions_08c55442-68c1-4fb7-9d78-66e6d8ca34c8" xlink:href="efoi-20230331.xsd#efoi_PaymentsForPlacementAgentCommissions"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_efoi_PaymentsForPlacementAgentCommissions_08c55442-68c1-4fb7-9d78-66e6d8ca34c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_f2a6f024-6e3b-4a3b-88f7-1f21d674d64e" xlink:href="efoi-20230331.xsd#efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_f2a6f024-6e3b-4a3b-88f7-1f21d674d64e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForClearingFees_f7b93b50-19a4-489e-b710-c0d250fc7fec" xlink:href="efoi-20230331.xsd#efoi_PaymentsForClearingFees"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_efoi_PaymentsForClearingFees_f7b93b50-19a4-489e-b710-c0d250fc7fec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts_537ed9d2-187e-4035-a4e0-6e59e599d600" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_us-gaap_PaymentsOfStockIssuanceCosts_537ed9d2-187e-4035-a4e0-6e59e599d600" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_225bd55b-10a5-439a-8e9a-4aa7062c544d" xlink:href="efoi-20230331.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_225bd55b-10a5-439a-8e9a-4aa7062c544d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_57746fb4-4983-4e54-8325-9c99bd654aee" xlink:href="efoi-20230331.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_57746fb4-4983-4e54-8325-9c99bd654aee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_b8e2fe12-dee6-4c4a-b20b-769f97caf8fb" xlink:href="efoi-20230331.xsd#efoi_EstimatedProceedsFromIssuanceOfWarrants"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc87ae91-2f4d-4d2f-835d-39be355c73d7" xlink:to="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_b8e2fe12-dee6-4c4a-b20b-769f97caf8fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityPreferredStockDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_5f7c6613-3013-451d-bd9b-3b3aa2b72683" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_47c34784-b7d4-4406-8a19-5549f478b681" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_5f7c6613-3013-451d-bd9b-3b3aa2b72683" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_47c34784-b7d4-4406-8a19-5549f478b681" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_fef1d79c-c661-4194-b59f-e6936ed0de9a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_47c34784-b7d4-4406-8a19-5549f478b681" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_fef1d79c-c661-4194-b59f-e6936ed0de9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_1299b5d9-96b2-47d3-9fcb-b220525dff40" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_fef1d79c-c661-4194-b59f-e6936ed0de9a" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_1299b5d9-96b2-47d3-9fcb-b220525dff40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtMember_46f02b58-5c75-4c06-bca6-8fd9841ad00a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertibleDebtMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_1299b5d9-96b2-47d3-9fcb-b220525dff40" xlink:to="loc_us-gaap_ConvertibleDebtMember_46f02b58-5c75-4c06-bca6-8fd9841ad00a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_8cb60b5c-30d1-4b1f-8d7a-7eeff97ac301" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_47c34784-b7d4-4406-8a19-5549f478b681" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_8cb60b5c-30d1-4b1f-8d7a-7eeff97ac301" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_d1e70b5b-f178-400d-8d58-0d2528129fbf" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_8cb60b5c-30d1-4b1f-8d7a-7eeff97ac301" xlink:to="loc_us-gaap_EquityComponentDomain_d1e70b5b-f178-400d-8d58-0d2528129fbf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember_010554b8-4bf3-4061-b88f-829ac2313d15" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_d1e70b5b-f178-400d-8d58-0d2528129fbf" xlink:to="loc_us-gaap_PreferredStockMember_010554b8-4bf3-4061-b88f-829ac2313d15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_3b70574a-9f12-49c4-bff3-29baa79f104e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_d1e70b5b-f178-400d-8d58-0d2528129fbf" xlink:to="loc_us-gaap_CommonStockMember_3b70574a-9f12-49c4-bff3-29baa79f104e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_ed33976d-a1bc-4ecc-a5de-bd86cf08c0aa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_47c34784-b7d4-4406-8a19-5549f478b681" xlink:to="loc_us-gaap_StatementClassOfStockAxis_ed33976d-a1bc-4ecc-a5de-bd86cf08c0aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_13c610c2-1956-4ddf-9474-6c08ff4f897a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_ed33976d-a1bc-4ecc-a5de-bd86cf08c0aa" xlink:to="loc_us-gaap_ClassOfStockDomain_13c610c2-1956-4ddf-9474-6c08ff4f897a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember_a9b3fcbb-faa3-43d9-a316-e065dc57cb0a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ConvertiblePreferredStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_13c610c2-1956-4ddf-9474-6c08ff4f897a" xlink:to="loc_us-gaap_ConvertiblePreferredStockMember_a9b3fcbb-faa3-43d9-a316-e065dc57cb0a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_47c34784-b7d4-4406-8a19-5549f478b681" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt_4fdd5cd0-34c1-4292-96ef-43fc44019067" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt_4fdd5cd0-34c1-4292-96ef-43fc44019067" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DerivativeFixedInterestRate_1e3559c5-358b-4359-9d1a-db948128fd57" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DerivativeFixedInterestRate"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_us-gaap_DerivativeFixedInterestRate_1e3559c5-358b-4359-9d1a-db948128fd57" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_04875050-922e-44fe-a44b-e9d016615b9e" xlink:href="efoi-20230331.xsd#efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_04875050-922e-44fe-a44b-e9d016615b9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_2e34e24f-3e63-44af-bc92-bf705ef74416" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_2e34e24f-3e63-44af-bc92-bf705ef74416" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_8a500942-fa36-4a2d-b07a-ba6477be10e9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_8a500942-fa36-4a2d-b07a-ba6477be10e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_e5ed3c1c-843c-43d4-85f0-9eead2c45765" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_e5ed3c1c-843c-43d4-85f0-9eead2c45765" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_dfca93f9-0007-464a-97b8-22d2118fe88a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_dfca93f9-0007-464a-97b8-22d2118fe88a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_1a34b5f3-6454-4544-af33-6711f232dc0f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_1a34b5f3-6454-4544-af33-6711f232dc0f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_49a435cc-624b-4128-8518-5e4b42a02bc5" xlink:href="efoi-20230331.xsd#efoi_PercentageOfSeriesAPreferredStockEligibleToVote"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_83dab021-4c94-4147-af5f-d5ee4cfb36da" xlink:to="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_49a435cc-624b-4128-8518-5e4b42a02bc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityJanuary2020EquityOfferingDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_9f5774ff-0484-45a4-a454-25169d10839e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_edfa9f3f-5c1f-474c-b77b-b6ccdc711cec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_9f5774ff-0484-45a4-a454-25169d10839e" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_edfa9f3f-5c1f-474c-b77b-b6ccdc711cec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_4b449ab8-ae03-43e1-9533-4013df99a67e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_edfa9f3f-5c1f-474c-b77b-b6ccdc711cec" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_4b449ab8-ae03-43e1-9533-4013df99a67e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_f66f7dd7-0d8c-4b14-b44b-13931f7e4ab9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_4b449ab8-ae03-43e1-9533-4013df99a67e" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_f66f7dd7-0d8c-4b14-b44b-13931f7e4ab9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020InstitutionalInvestorMember_56c5a3e7-588e-492c-abac-3c29823d9d17" xlink:href="efoi-20230331.xsd#efoi_January2020InstitutionalInvestorMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_f66f7dd7-0d8c-4b14-b44b-13931f7e4ab9" xlink:to="loc_efoi_January2020InstitutionalInvestorMember_56c5a3e7-588e-492c-abac-3c29823d9d17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InstitutionalInvestorMember_0785d8cd-210a-4bff-b3e7-ad660d8a2c70" xlink:href="efoi-20230331.xsd#efoi_InstitutionalInvestorMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_f66f7dd7-0d8c-4b14-b44b-13931f7e4ab9" xlink:to="loc_efoi_InstitutionalInvestorMember_0785d8cd-210a-4bff-b3e7-ad660d8a2c70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020WarrantsMember_aba14ebd-cfb9-417e-8189-7913a8f68916" xlink:href="efoi-20230331.xsd#efoi_January2020WarrantsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_f66f7dd7-0d8c-4b14-b44b-13931f7e4ab9" xlink:to="loc_efoi_January2020WarrantsMember_aba14ebd-cfb9-417e-8189-7913a8f68916" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingMember_2491cfc4-e584-40a1-8580-a89b8d4e6fca" xlink:href="efoi-20230331.xsd#efoi_January2020EquityOfferingMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_f66f7dd7-0d8c-4b14-b44b-13931f7e4ab9" xlink:to="loc_efoi_January2020EquityOfferingMember_2491cfc4-e584-40a1-8580-a89b8d4e6fca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_edfa9f3f-5c1f-474c-b77b-b6ccdc711cec" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_a0a370c1-ba0b-4f49-ace3-c17029c1601a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_a0a370c1-ba0b-4f49-ace3-c17029c1601a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_4029ac7e-98e2-400d-89bd-554bd4bbfe63" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_4029ac7e-98e2-400d-89bd-554bd4bbfe63" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_f7453374-f2d8-41be-a411-5c78e2406495" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_f7453374-f2d8-41be-a411-5c78e2406495" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_a897878a-3ad4-42db-bf86-8068bbfbbe12" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_a897878a-3ad4-42db-bf86-8068bbfbbe12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_8d94e522-37f9-4dff-b0ff-15b054cb9a16" xlink:href="efoi-20230331.xsd#efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_8d94e522-37f9-4dff-b0ff-15b054cb9a16" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_d0c7dfd1-22b1-4157-94ef-93355cf7a982" xlink:href="efoi-20230331.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_d0c7dfd1-22b1-4157-94ef-93355cf7a982" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_20f25edf-a842-47c0-89f9-cb0f90854b01" xlink:href="efoi-20230331.xsd#efoi_EstimatedProceedsFromIssuanceOfWarrants"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_20f25edf-a842-47c0-89f9-cb0f90854b01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_b30fb5f9-cd0f-4da0-8701-38b2c1b8bb81" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a3db318e-3c0d-4ac7-8da8-c7bd49dc9fb3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_b30fb5f9-cd0f-4da0-8701-38b2c1b8bb81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_b692b128-0dfd-4969-8dd9-a36729bf3a9d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d13fa00f-ba13-4654-ab2e-322711be7492" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_b692b128-0dfd-4969-8dd9-a36729bf3a9d" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d13fa00f-ba13-4654-ab2e-322711be7492" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_79475d10-6982-40ad-8c96-d7caf5f65592" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d13fa00f-ba13-4654-ab2e-322711be7492" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_79475d10-6982-40ad-8c96-d7caf5f65592" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_cb8b3f15-0561-478c-a43a-46f113b3f12e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_79475d10-6982-40ad-8c96-d7caf5f65592" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_cb8b3f15-0561-478c-a43a-46f113b3f12e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingMember_844c1bb5-57f6-4862-8c47-5b7b6f8161a0" xlink:href="efoi-20230331.xsd#efoi_January2020EquityOfferingMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_cb8b3f15-0561-478c-a43a-46f113b3f12e" xlink:to="loc_efoi_January2020EquityOfferingMember_844c1bb5-57f6-4862-8c47-5b7b6f8161a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020InstitutionalInvestorMember_efee608f-00c3-4fc2-9caa-00ffaf114230" xlink:href="efoi-20230331.xsd#efoi_January2020InstitutionalInvestorMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_January2020EquityOfferingMember_844c1bb5-57f6-4862-8c47-5b7b6f8161a0" xlink:to="loc_efoi_January2020InstitutionalInvestorMember_efee608f-00c3-4fc2-9caa-00ffaf114230" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingPrivatePlacementMember_ebce9db1-7d9c-401e-91c5-9aff763d12e7" xlink:href="efoi-20230331.xsd#efoi_January2020EquityOfferingPrivatePlacementMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_January2020EquityOfferingMember_844c1bb5-57f6-4862-8c47-5b7b6f8161a0" xlink:to="loc_efoi_January2020EquityOfferingPrivatePlacementMember_ebce9db1-7d9c-401e-91c5-9aff763d12e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a695c3d0-beff-401a-9a98-06aea072a95b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d13fa00f-ba13-4654-ab2e-322711be7492" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a695c3d0-beff-401a-9a98-06aea072a95b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_be5b23d4-145c-47c7-aa76-bcfbc53ba35e" xlink:href="efoi-20230331.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a695c3d0-beff-401a-9a98-06aea072a95b" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_be5b23d4-145c-47c7-aa76-bcfbc53ba35e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_fcf73b6c-f945-45f4-97f0-ce90cf37aff2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a695c3d0-beff-401a-9a98-06aea072a95b" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_fcf73b6c-f945-45f4-97f0-ce90cf37aff2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_e47f21b1-fcf6-48c6-ae18-a7c221398561" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_a695c3d0-beff-401a-9a98-06aea072a95b" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_e47f21b1-fcf6-48c6-ae18-a7c221398561" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityStockBasedCompensationDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_40b9f4a3-8df0-45b5-84d7-bf7f6773b279" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_e5c39c1f-eaf2-4acd-94e8-891abc4e8dca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_40b9f4a3-8df0-45b5-84d7-bf7f6773b279" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_e5c39c1f-eaf2-4acd-94e8-891abc4e8dca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_8729eda5-1632-45ca-9d67-24782de1503f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_e5c39c1f-eaf2-4acd-94e8-891abc4e8dca" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_8729eda5-1632-45ca-9d67-24782de1503f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_6577ea09-8442-4fe1-a8f4-067898e71d34" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_8729eda5-1632-45ca-9d67-24782de1503f" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_6577ea09-8442-4fe1-a8f4-067898e71d34" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_4ed847d7-d48d-4e73-b90e-8415b893bf60" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CostOfSalesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_6577ea09-8442-4fe1-a8f4-067898e71d34" xlink:to="loc_us-gaap_CostOfSalesMember_4ed847d7-d48d-4e73-b90e-8415b893bf60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_c583b357-6527-435e-8bce-5ebd9d48220f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_6577ea09-8442-4fe1-a8f4-067898e71d34" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_c583b357-6527-435e-8bce-5ebd9d48220f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_165da452-30fb-4460-b436-7b2b4d709c30" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_6577ea09-8442-4fe1-a8f4-067898e71d34" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_165da452-30fb-4460-b436-7b2b4d709c30" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_64e6e6d1-c2b1-4571-808c-892353ba3c9a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_e5c39c1f-eaf2-4acd-94e8-891abc4e8dca" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_64e6e6d1-c2b1-4571-808c-892353ba3c9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_47437762-33d0-47f9-8293-f5eba9066859" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_64e6e6d1-c2b1-4571-808c-892353ba3c9a" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_47437762-33d0-47f9-8293-f5eba9066859" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_7f476c08-04e8-4f37-9879-91ba42252726" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_64e6e6d1-c2b1-4571-808c-892353ba3c9a" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_7f476c08-04e8-4f37-9879-91ba42252726" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_142c17a4-5bca-47d4-8ab3-9c31fb03e46e" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_64e6e6d1-c2b1-4571-808c-892353ba3c9a" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_142c17a4-5bca-47d4-8ab3-9c31fb03e46e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityEstimatesUtilizedDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_e9bddd5e-7b33-4336-9a2b-2ce592ec37d8" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ca72b818-713f-4ec5-bfee-0ea39632400a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_e9bddd5e-7b33-4336-9a2b-2ce592ec37d8" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ca72b818-713f-4ec5-bfee-0ea39632400a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_3f69b331-b7a1-4571-b550-a750df30929a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ca72b818-713f-4ec5-bfee-0ea39632400a" xlink:to="loc_us-gaap_AwardTypeAxis_3f69b331-b7a1-4571-b550-a750df30929a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_21e82e4a-3e87-440d-9ab1-3b3d855e83ab" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_3f69b331-b7a1-4571-b550-a750df30929a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_21e82e4a-3e87-440d-9ab1-3b3d855e83ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_af354280-3b52-49c9-8e11-e9e8af6bae74" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_21e82e4a-3e87-440d-9ab1-3b3d855e83ab" xlink:to="loc_us-gaap_EmployeeStockOptionMember_af354280-3b52-49c9-8e11-e9e8af6bae74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_43a798af-eb32-4eab-807a-7a92f9af55a5" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ca72b818-713f-4ec5-bfee-0ea39632400a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_43a798af-eb32-4eab-807a-7a92f9af55a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_a2cf28e5-c6dc-43ba-a196-ec124b0adf60" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_43a798af-eb32-4eab-807a-7a92f9af55a5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_a2cf28e5-c6dc-43ba-a196-ec124b0adf60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice_23c4a962-66cd-4da3-9ad4-379e438e3ae6" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_43a798af-eb32-4eab-807a-7a92f9af55a5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice_23c4a962-66cd-4da3-9ad4-379e438e3ae6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_65a1c6f5-7f49-490c-a8c3-e6ae6665ee44" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_43a798af-eb32-4eab-807a-7a92f9af55a5" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_65a1c6f5-7f49-490c-a8c3-e6ae6665ee44" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_6ebf3542-2c33-49fe-933b-03f811e08481" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_43a798af-eb32-4eab-807a-7a92f9af55a5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_6ebf3542-2c33-49fe-933b-03f811e08481" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_d51d5589-428e-4a19-bb6e-bb3823a90939" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_43a798af-eb32-4eab-807a-7a92f9af55a5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_d51d5589-428e-4a19-bb6e-bb3823a90939" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_fe9711b2-a919-4d30-be17-a8400b4dd471" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_43a798af-eb32-4eab-807a-7a92f9af55a5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_fe9711b2-a919-4d30-be17-a8400b4dd471" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityStockOptionsandaSummaryofActivityDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_6b89a2a0-b888-45c2-8dbd-a53072b8d2ca" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_ca88616b-d0fb-4ef5-bc86-ac0d63826f1d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_6b89a2a0-b888-45c2-8dbd-a53072b8d2ca" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_ca88616b-d0fb-4ef5-bc86-ac0d63826f1d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_dfd6e616-3c1d-4fab-96d9-05b9289af11b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_ca88616b-d0fb-4ef5-bc86-ac0d63826f1d" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_dfd6e616-3c1d-4fab-96d9-05b9289af11b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_80a1f92c-ef18-4289-a0db-c104a7acf657" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_ca88616b-d0fb-4ef5-bc86-ac0d63826f1d" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_80a1f92c-ef18-4289-a0db-c104a7acf657" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_8da2be68-79a7-4df5-aa3e-1abb5bbae979" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_ca88616b-d0fb-4ef5-bc86-ac0d63826f1d" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_8da2be68-79a7-4df5-aa3e-1abb5bbae979" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_a97e9603-ed5b-4922-85bb-4eeb1efcfb19" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_ca88616b-d0fb-4ef5-bc86-ac0d63826f1d" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_a97e9603-ed5b-4922-85bb-4eeb1efcfb19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_8104f4a7-8373-48d0-8fc9-d785388e36a7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_6b89a2a0-b888-45c2-8dbd-a53072b8d2ca" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_8104f4a7-8373-48d0-8fc9-d785388e36a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_e9c2b85b-0f0d-4826-8779-ab6f875888f7" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_6b89a2a0-b888-45c2-8dbd-a53072b8d2ca" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_e9c2b85b-0f0d-4826-8779-ab6f875888f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_3ee685ae-2b9c-4b73-a35d-fc75a11d819c" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_6b89a2a0-b888-45c2-8dbd-a53072b8d2ca" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_3ee685ae-2b9c-4b73-a35d-fc75a11d819c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3663877f-d24c-43de-a0b0-cc82ee3ffa7d" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_3ee685ae-2b9c-4b73-a35d-fc75a11d819c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3663877f-d24c-43de-a0b0-cc82ee3ffa7d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_8d8a4953-c465-4bff-8ee4-3a5db505668a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_3ee685ae-2b9c-4b73-a35d-fc75a11d819c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_8d8a4953-c465-4bff-8ee4-3a5db505668a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_1a58ff54-ca2d-4938-9fad-88f478f951c2" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_3ee685ae-2b9c-4b73-a35d-fc75a11d819c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_1a58ff54-ca2d-4938-9fad-88f478f951c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_aeb3a341-1f69-46ec-862d-b8d16508274a" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_3ee685ae-2b9c-4b73-a35d-fc75a11d819c" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_aeb3a341-1f69-46ec-862d-b8d16508274a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_52f80202-34b8-42c6-8bd7-028dd1b10bbd" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_6b89a2a0-b888-45c2-8dbd-a53072b8d2ca" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_52f80202-34b8-42c6-8bd7-028dd1b10bbd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_916e22d7-a977-4509-8769-5e611c00d0ec" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_6b89a2a0-b888-45c2-8dbd-a53072b8d2ca" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_916e22d7-a977-4509-8769-5e611c00d0ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_9ce33821-6bcf-497f-8031-e5c50673f567" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_6b89a2a0-b888-45c2-8dbd-a53072b8d2ca" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_9ce33821-6bcf-497f-8031-e5c50673f567" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_73d0b3f1-d495-45cc-9721-acfa5295e8f3" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_9ce33821-6bcf-497f-8031-e5c50673f567" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_73d0b3f1-d495-45cc-9721-acfa5295e8f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_d2c0bce2-1f19-4c1c-ad24-f4cfa6270c93" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_6b89a2a0-b888-45c2-8dbd-a53072b8d2ca" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_d2c0bce2-1f19-4c1c-ad24-f4cfa6270c93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_7d87791f-c100-463a-9b95-317149df4ebc" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_6b89a2a0-b888-45c2-8dbd-a53072b8d2ca" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_7d87791f-c100-463a-9b95-317149df4ebc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#StockholdersEquityRestrictedStockUnitsDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_c35e1439-bff0-4797-b6dc-d2a9c5f04a03" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_05e35ade-8f85-4aef-bdc8-9dca3790f77f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_c35e1439-bff0-4797-b6dc-d2a9c5f04a03" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_05e35ade-8f85-4aef-bdc8-9dca3790f77f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_6c347940-3d01-42b1-b58b-4d1218e63a21" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_05e35ade-8f85-4aef-bdc8-9dca3790f77f" xlink:to="loc_us-gaap_AwardTypeAxis_6c347940-3d01-42b1-b58b-4d1218e63a21" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_8891bf9a-ce74-47e7-883d-bf6ff2e74d12" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_6c347940-3d01-42b1-b58b-4d1218e63a21" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_8891bf9a-ce74-47e7-883d-bf6ff2e74d12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_5d31f6cb-22ca-4470-9a50-b0f8ebb3c0e9" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_8891bf9a-ce74-47e7-883d-bf6ff2e74d12" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_5d31f6cb-22ca-4470-9a50-b0f8ebb3c0e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_468c4082-776a-4357-9d89-8a38a3f2f47f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_05e35ade-8f85-4aef-bdc8-9dca3790f77f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_468c4082-776a-4357-9d89-8a38a3f2f47f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_9da98509-db67-4c59-b5d9-c911fb82b954" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_468c4082-776a-4357-9d89-8a38a3f2f47f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_9da98509-db67-4c59-b5d9-c911fb82b954" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_6220833e-530a-482d-b634-58f165e66079" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_9da98509-db67-4c59-b5d9-c911fb82b954" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_6220833e-530a-482d-b634-58f165e66079" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_58f6bc1e-750e-4543-a145-f427ed08aa96" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_9da98509-db67-4c59-b5d9-c911fb82b954" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_58f6bc1e-750e-4543-a145-f427ed08aa96" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_6c5d4abb-f2af-48fc-bfbd-9ab0408ecf20" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_9da98509-db67-4c59-b5d9-c911fb82b954" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_6c5d4abb-f2af-48fc-bfbd-9ab0408ecf20" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_4fbe7632-7e8d-42f1-91c7-997abc678e89" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_468c4082-776a-4357-9d89-8a38a3f2f47f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_4fbe7632-7e8d-42f1-91c7-997abc678e89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_8d0c25c1-9196-4173-9650-64528a6f7a02" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_4fbe7632-7e8d-42f1-91c7-997abc678e89" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_8d0c25c1-9196-4173-9650-64528a6f7a02" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_389c7108-6d21-466d-a667-66c7213da970" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_4fbe7632-7e8d-42f1-91c7-997abc678e89" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_389c7108-6d21-466d-a667-66c7213da970" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_08aa3f1f-ce8e-4460-adc1-3a8b0758c46b" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_4fbe7632-7e8d-42f1-91c7-997abc678e89" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_08aa3f1f-ce8e-4460-adc1-3a8b0758c46b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_9050217a-4994-4926-838e-5c3bc790c8e0" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_468c4082-776a-4357-9d89-8a38a3f2f47f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_9050217a-4994-4926-838e-5c3bc790c8e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_4ed3a4fa-80d3-45a4-985a-e3a40f30ab32" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract_9050217a-4994-4926-838e-5c3bc790c8e0" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_4ed3a4fa-80d3-45a4-985a-e3a40f30ab32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CommitmentsandContingenciesDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#CommitmentsandContingenciesDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/CommitmentsandContingenciesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b072a564-d982-4e80-95dd-cc36b942729f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_ad86211d-60ce-4a8c-b790-28de016dc025" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_b072a564-d982-4e80-95dd-cc36b942729f" xlink:to="loc_us-gaap_StatementTable_ad86211d-60ce-4a8c-b790-28de016dc025" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementScenarioAxis_b1fcd07e-d093-470f-9c25-afe7aad47bc8" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_StatementScenarioAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_ad86211d-60ce-4a8c-b790-28de016dc025" xlink:to="loc_srt_StatementScenarioAxis_b1fcd07e-d093-470f-9c25-afe7aad47bc8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioUnspecifiedDomain_86553a4c-b4f4-4e5f-be29-587955395632" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioUnspecifiedDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementScenarioAxis_b1fcd07e-d093-470f-9c25-afe7aad47bc8" xlink:to="loc_srt_ScenarioUnspecifiedDomain_86553a4c-b4f4-4e5f-be29-587955395632" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioForecastMember_d3a01d61-630e-4ef0-8979-4a644c8822c0" xlink:href="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd#srt_ScenarioForecastMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ScenarioUnspecifiedDomain_86553a4c-b4f4-4e5f-be29-587955395632" xlink:to="loc_srt_ScenarioForecastMember_d3a01d61-630e-4ef0-8979-4a644c8822c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_247623fd-e271-4ad0-b3ec-2d3a202e5724" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_ad86211d-60ce-4a8c-b790-28de016dc025" xlink:to="loc_us-gaap_StatementLineItems_247623fd-e271-4ad0-b3ec-2d3a202e5724" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligation_8ee155dc-1dc3-4f04-9b40-1198076c887f" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_PurchaseObligation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_247623fd-e271-4ad0-b3ec-2d3a202e5724" xlink:to="loc_us-gaap_PurchaseObligation_8ee155dc-1dc3-4f04-9b40-1198076c887f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentAmount_9e243322-32e5-4a42-b1e9-b29e813ea4df" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_LongTermPurchaseCommitmentAmount"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_247623fd-e271-4ad0-b3ec-2d3a202e5724" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentAmount_9e243322-32e5-4a42-b1e9-b29e813ea4df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/OtherIncomeDetails" xlink:type="simple" xlink:href="efoi-20230331.xsd#OtherIncomeDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/OtherIncomeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncomeAndExpensesAbstract_71bc0ff3-c280-45d6-ac67-ced9b934aafa" xlink:href="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd#us-gaap_OtherIncomeAndExpensesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct_7d9751ca-362e-43ec-927c-9341379052a3" xlink:href="efoi-20230331.xsd#efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherIncomeAndExpensesAbstract_71bc0ff3-c280-45d6-ac67-ced9b934aafa" xlink:to="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct_7d9751ca-362e-43ec-927c-9341379052a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_a245aab0-24ce-41b7-913f-e03bae05e300" xlink:href="efoi-20230331.xsd#efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherIncomeAndExpensesAbstract_71bc0ff3-c280-45d6-ac67-ced9b934aafa" xlink:to="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_a245aab0-24ce-41b7-913f-e03bae05e300" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<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.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205219878576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover Page - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>May 09, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Mar. 31,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-36583<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">94-3021850<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">32000&#160;Aurora&#160;Road<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityAddressAddressLine2', window );">Entity Address, Address Line Two</a></td>
<td class="text">Suite B<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Solon<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">OH<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">44139<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">(440)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">715-1300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, par value $0.0001 per share<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">EFOI<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19,243,610<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000924168<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">ENERGY FOCUS, INC/DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 2 such as Street or Suite number</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_EntityAddressAddressLine2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205219522160">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash</a></td>
<td class="nump">$ 301<span></span>
</td>
<td class="nump">$ 52<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Trade accounts receivable, less allowances of $58 and $26, respectively</a></td>
<td class="nump">909<span></span>
</td>
<td class="nump">445<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">4,938<span></span>
</td>
<td class="nump">5,476<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepositsAssetsCurrent', window );">Short-term deposits</a></td>
<td class="nump">615<span></span>
</td>
<td class="nump">592<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid and other current assets</a></td>
<td class="nump">226<span></span>
</td>
<td class="nump">232<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent', window );">Receivable for claimed ERTC</a></td>
<td class="nump">445<span></span>
</td>
<td class="nump">445<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">7,434<span></span>
</td>
<td class="nump">7,242<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization', window );">Property and equipment, net</a></td>
<td class="nump">68<span></span>
</td>
<td class="nump">76<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease, right-of-use asset</a></td>
<td class="nump">1,111<span></span>
</td>
<td class="nump">1,180<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">8,613<span></span>
</td>
<td class="nump">8,498<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">2,177<span></span>
</td>
<td class="nump">2,204<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">229<span></span>
</td>
<td class="nump">145<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedEmployeeBenefitsCurrent', window );">Accrued payroll and related benefits</a></td>
<td class="nump">235<span></span>
</td>
<td class="nump">261<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedSalesCommissionCurrent', window );">Accrued sales commissions</a></td>
<td class="nump">29<span></span>
</td>
<td class="nump">76<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualCurrent', window );">Accrued warranty reserve</a></td>
<td class="nump">143<span></span>
</td>
<td class="nump">183<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities</a></td>
<td class="nump">205<span></span>
</td>
<td class="nump">198<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Credit line borrowings, net of loan origination fees</a></td>
<td class="nump">388<span></span>
</td>
<td class="nump">1,447<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesPayableRelatedPartiesClassifiedCurrent', window );">Related party promissory notes payable</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">814<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NotesPayableCurrent', window );">Promissory notes payable, net of discounts and loan origination fees</a></td>
<td class="nump">1,277<span></span>
</td>
<td class="nump">2,618<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">4,683<span></span>
</td>
<td class="nump">7,946<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, net of current portion</a></td>
<td class="nump">975<span></span>
</td>
<td class="nump">1,029<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">5,658<span></span>
</td>
<td class="nump">8,975<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>STOCKHOLDERS' EQUITY (DEFICIT)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, par value $0.0001 per share: Authorized: 5,000,000 shares (3,300,000 designated as Series A Convertible Preferred Stock) at March 31, 2023 and December 31, 2022. Issued and outstanding: 876,447 at March 31, 2023 and December 31, 2022</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, par value $0.0001 per share: Authorized: 50,000,000 shares at March 31, 2023 and December 31, 2022. Issued and outstanding: 19,243,610 at March 31, 2023 and 9,848,438 at December 31, 2022</a></td>
<td class="nump">2<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">153,311<span></span>
</td>
<td class="nump">148,545<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(3)<span></span>
</td>
<td class="num">(3)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="num">(150,355)<span></span>
</td>
<td class="num">(149,020)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity (deficit)</a></td>
<td class="nump">2,955<span></span>
</td>
<td class="num">(477)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity (deficit)</a></td>
<td class="nump">$ 8,613<span></span>
</td>
<td class="nump">$ 8,498<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Receivable For Claimed Employee Retention Tax Credit, Current</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;">efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedEmployeeBenefitsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedEmployeeBenefitsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedSalesCommissionCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedSalesCommissionCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepositsAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment within one year or during the operating cycle, if shorter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepositsAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI https://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6904-107765<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LinesOfCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LinesOfCreditCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying values as of the balance sheet date of the portions of long-term notes payable due within one year or the operating cycle if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesPayableRelatedPartiesClassifiedCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount for notes payable (written promise to pay), due to related parties. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesPayableRelatedPartiesClassifiedCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid within one year or the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205219660912">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Parentheticals) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Trade accounts receivable, less allowances</a></td>
<td class="nump">$ 58<span></span>
</td>
<td class="nump">$ 26<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value (USD per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, authorized (in shares)</a></td>
<td class="nump">5,000,000<span></span>
</td>
<td class="nump">5,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, issued (in shares)</a></td>
<td class="nump">876,447<span></span>
</td>
<td class="nump">876,447<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, outstanding (in shares)</a></td>
<td class="nump">876,447<span></span>
</td>
<td class="nump">876,447<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (USD per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, authorized (in shares)</a></td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">50,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, issued (in shares)</a></td>
<td class="nump">19,243,610<span></span>
</td>
<td class="nump">9,848,438<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, outstanding (in shares)</a></td>
<td class="nump">19,243,610<span></span>
</td>
<td class="nump">9,848,438<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_ConvertiblePreferredStockMember', window );">Series A Convertible Preferred Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, authorized (in shares)</a></td>
<td class="nump">3,300,000<span></span>
</td>
<td class="nump">3,300,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_ConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_ConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205219547152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Operations - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net sales</a></td>
<td class="nump">$ 930<span></span>
</td>
<td class="nump">$ 2,061<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="nump">913<span></span>
</td>
<td class="nump">2,087<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit (loss)</a></td>
<td class="nump">17<span></span>
</td>
<td class="num">(26)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Product development</a></td>
<td class="nump">154<span></span>
</td>
<td class="nump">503<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general, and administrative</a></td>
<td class="nump">1,066<span></span>
</td>
<td class="nump">2,127<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">1,220<span></span>
</td>
<td class="nump">2,630<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Loss from operations</a></td>
<td class="num">(1,203)<span></span>
</td>
<td class="num">(2,656)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other expenses (income):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="nump">123<span></span>
</td>
<td class="nump">184<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncome', window );">Other income</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(30)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingExpense', window );">Other expenses</a></td>
<td class="nump">7<span></span>
</td>
<td class="nump">11<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (1,333)<span></span>
</td>
<td class="num">$ (2,821)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_EarningsPerShareBasicAndDilutedEPSAbstract', window );"><strong>Net loss per common share - basic and diluted</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare', window );">Net loss, basic (USD per share)</a></td>
<td class="num">$ (0.08)<span></span>
</td>
<td class="num">$ (0.44)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare', window );">Net loss, diluted (USD per share)</a></td>
<td class="num">$ (0.08)<span></span>
</td>
<td class="num">$ (0.44)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract', window );"><strong>Weighted average shares of common stock outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">16,172<span></span>
</td>
<td class="nump">6,437<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">16,172<span></span>
</td>
<td class="nump">6,437<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_EarningsPerShareBasicAndDilutedEPSAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Earnings Per Share, Basic and Diluted EPS</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;">efoi_EarningsPerShareBasicAndDilutedEPSAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI https://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) from continuing operations per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868656-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsPerBasicShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) derived from continuing operations during the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1337-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868656-224227<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1252-109256<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(d))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205217725360">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Changes in Stockholders' Equity - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Cumulative Effect, Period of Adoption, Adjusted Balance</div></th>
<th class="th"><div>Preferred Stock</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Accumulated Other Comprehensive Loss</div></th>
<th class="th"><div>Accumulated Deficit</div></th>
<th class="th">
<div>Accumulated Deficit </div>
<div>Cumulative Effect, Period of Adoption, Adjusted Balance</div>
</th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance (in shares) at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">876<span></span>
</td>
<td class="nump">6,368<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2021</a></td>
<td class="nump">$ 6,209<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 144,953<span></span>
</td>
<td class="num">$ (3)<span></span>
</td>
<td class="num">$ (138,741)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised', window );">Issuance of common stock upon the exercise of warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">44<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">44<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">(2,821)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,821)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Mar. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">876<span></span>
</td>
<td class="nump">6,453<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Mar. 31, 2022</a></td>
<td class="nump">3,432<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">144,997<span></span>
</td>
<td class="num">(3)<span></span>
</td>
<td class="num">(141,562)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance (in shares) at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">876<span></span>
</td>
<td class="nump">6,368<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2021</a></td>
<td class="nump">6,209<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">144,953<span></span>
</td>
<td class="num">(3)<span></span>
</td>
<td class="num">(138,741)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">(10,300)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Dec. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">876<span></span>
</td>
<td class="nump">9,849<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2022</a></td>
<td class="num">$ (477)<span></span>
</td>
<td class="num">$ (2)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">148,545<span></span>
</td>
<td class="num">(3)<span></span>
</td>
<td class="num">(149,020)<span></span>
</td>
<td class="num">$ (2)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingStandardsUpdateExtensibleList', window );">Accounting Standards Update [Extensible List]</a></td>
<td class="text">Accounting Standards Update 2016-13 [Member]<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Issuance of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,995<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Issuance of common stock</a></td>
<td class="nump">$ 3,025<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">3,024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Stock issued in exchange transactions (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt', window );">Stock issued in exchange transactions</a></td>
<td class="nump">1,716<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,716<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">26<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">(1,333)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,333)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Mar. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">876<span></span>
</td>
<td class="nump">19,244<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Mar. 31, 2023</a></td>
<td class="nump">$ 2,955<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">$ 153,311<span></span>
</td>
<td class="num">$ (3)<span></span>
</td>
<td class="num">$ (150,355)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingStandardsUpdateExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates amendment to accounting standards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL126732908-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL121967933-165497<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 65<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092918&amp;loc=SL128093175-196984<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL121967933-165497<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 65<br> -Paragraph 3<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092918&amp;loc=SL128093175-196984<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128097895&amp;loc=SL121327923-165333<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 832<br> -SubTopic 10<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128342835&amp;loc=SL128342857-244232<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL122642865-165497<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 65<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128092918&amp;loc=SL128093175-196984<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL121967933-165497<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL121967933-165497<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL120254526-165497<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iv)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 32: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983759&amp;loc=SL121830611-158277<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL122150809-237846<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 43: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 44: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=128293352&amp;loc=SL126838806-209984<br><br>Reference 45: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL122642865-165497<br><br>Reference 46: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126986314&amp;loc=SL124402458-218513<br><br>Reference 47: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126986314&amp;loc=SL124402458-218513<br><br>Reference 48: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126983955&amp;loc=SL120254526-165497<br><br>Reference 49: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 50: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128293352&amp;loc=SL126838806-209984<br><br>Reference 51: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 52: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 53: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 54: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 55: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 56: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 105<br> -SubTopic 10<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126987489&amp;loc=SL124442142-165695<br><br>Reference 57: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 58: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 59: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 60: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 61: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 848<br> -SubTopic 10<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=125980421&amp;loc=SL125981372-237846<br><br>Reference 62: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 10<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128293352&amp;loc=SL126838806-209984<br><br>Reference 63: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 832<br> -SubTopic 10<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128342835&amp;loc=SL128342857-244232<br><br>Reference 64: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 10<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=122640432&amp;loc=SL121648383-210437<br><br>Reference 65: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 66: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 67: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 68: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingStandardsUpdateExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Adjustment to additional paid in capital resulting from the recognition of convertible debt instruments as two separate components - a debt component and an equity component. This bifurcation may result in a basis difference associated with the liability component that represents a temporary difference for purposes of applying accounting for income taxes. The initial recognition of deferred taxes for the tax effect of that temporary difference is as an adjustment to additional paid in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 25<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=123466103&amp;loc=SL6014347-161799<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=126964447&amp;loc=d3e11178-113907<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126961718&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of non-option equity instruments exercised by participants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of an employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205220998368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (1,333)<span></span>
</td>
<td class="num">$ (2,821)<span></span>
</td>
<td class="num">$ (10,300)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net loss to net cash used in operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_GainLossFromEmployeeRetentionTaxCredit', window );">Other income</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(30)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">8<span></span>
</td>
<td class="nump">44<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">26<span></span>
</td>
<td class="nump">44<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Provision for doubtful accounts receivable</a></td>
<td class="nump">29<span></span>
</td>
<td class="num">(9)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWriteDown', window );">Provision for slow-moving and obsolete inventories</a></td>
<td class="num">(23)<span></span>
</td>
<td class="nump">129<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_IncreaseDecreaseInProvisionForWarranties', window );">Provision for warranties</a></td>
<td class="num">(40)<span></span>
</td>
<td class="num">(30)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfDebtDiscountPremium', window );">Amortization of loan discounts and origination fees</a></td>
<td class="nump">62<span></span>
</td>
<td class="nump">69<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities (sources / (uses) of cash):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(496)<span></span>
</td>
<td class="num">(83)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="nump">562<span></span>
</td>
<td class="nump">370<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDepositOtherAssets', window );">Short-term deposits</a></td>
<td class="num">(23)<span></span>
</td>
<td class="nump">12<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid and other assets</a></td>
<td class="nump">6<span></span>
</td>
<td class="nump">20<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(27)<span></span>
</td>
<td class="nump">61<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued and other liabilities</a></td>
<td class="nump">66<span></span>
</td>
<td class="num">(211)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredRevenue', window );">Deferred revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(268)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities', window );">Total adjustments</a></td>
<td class="nump">150<span></span>
</td>
<td class="nump">118<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash used in operating activities</a></td>
<td class="num">(1,183)<span></span>
</td>
<td class="num">(2,703)<span></span>
</td>
<td class="num">(6,700)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Acquisitions of property and equipment</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(35)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(35)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities (sources / (uses) of cash):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants', window );">Proceeds from the issuance of common stock and warrants</a></td>
<td class="nump">3,025<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeasePrincipalPayments', window );">Principal payments under finance lease obligations</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromLinesOfCredit', window );">Net payments on proceeds from the credit line borrowings - Credit Facilities</a></td>
<td class="num">(1,093)<span></span>
</td>
<td class="nump">897<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by financing activities</a></td>
<td class="nump">1,432<span></span>
</td>
<td class="nump">281<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash</a></td>
<td class="nump">249<span></span>
</td>
<td class="num">(2,457)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash beginning of period</a></td>
<td class="nump">52<span></span>
</td>
<td class="nump">2,682<span></span>
</td>
<td class="nump">2,682<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash end of period</a></td>
<td class="nump">301<span></span>
</td>
<td class="nump">225<span></span>
</td>
<td class="nump">$ 52<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_A2022StreetervilleNoteMember', window );">2022 Streeterville Note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities (sources / (uses) of cash):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfNotesPayable', window );">Repayments of notes payable</a></td>
<td class="num">(500)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_A2021StreetervilleNoteMember', window );">2021 Streeterville Note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities (sources / (uses) of cash):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfNotesPayable', window );">Repayments of notes payable</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (615)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_GainLossFromEmployeeRetentionTaxCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>(Gain) Loss From Employee Retention Tax Credit</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;">efoi_GainLossFromEmployeeRetentionTaxCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_IncreaseDecreaseInProvisionForWarranties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) In Provision For Warranties</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_IncreaseDecreaseInProvisionForWarranties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Proceeds from Issuance of Common Stock and Warrants</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;">efoi_ProceedsFromIssuanceOfCommonStockAndWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The sum of adjustments which are added to or deducted from net income or loss, including the portion attributable to noncontrolling interest, to reflect cash provided by or used in operating activities, in accordance with the indirect cash flow method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfDebtDiscountPremium">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense included in interest expense to amortize debt discount and premium associated with the related debt instruments. Excludes amortization of financing costs. Alternate captions include noncash interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28541-108399<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495355-112611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.8)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfDebtDiscountPremium</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126999549&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for principal payment on finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDepositOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in moneys or securities given as security including, but not limited to, contract, escrow, or earnest money deposits, retainage (if applicable), deposits with clearing organizations and others, collateral, or margin deposits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDepositOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWriteDown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4542-108314<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWriteDown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for a borrowing supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_A2022StreetervilleNoteMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_A2022StreetervilleNoteMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_A2021StreetervilleNoteMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_A2021StreetervilleNoteMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205221229136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Nature of Operations<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">Nature of Operations</a></td>
<td class="text">NATURE OF<span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">OPERATIONS</span>Energy Focus, Inc. engages primarily in the design, development, manufacturing, marketing and sale of energy-efficient lighting systems and controls. We develop, market and sell high quality light-emitting diode (&#8220;LED&#8221;) lighting and controls products in the commercial market and military maritime market (&#8220;MMM&#8221;), and began to expand our offerings into the consumer market in the fourth quarter of 2021. Our mission is to enable our customers to run their facilities, offices with greater energy efficiency, productivity, and human health and wellness through advanced LED retrofit solutions. Our goal is to be the human wellness lighting and LED technology and market leader for the most demanding applications where performance, quality, value, environmental impact and health are considered paramount. We specialize in LED lighting retrofit by replacing fluorescent, high-intensity discharge lighting and other types of lamps in institutional buildings for primarily indoor lighting applications with our innovative, high-quality commercial and military-grade tubular LED (&#8220;TLED&#8221;) products, as well as other LED and lighting control products for commercial and consumer applications. We are also evaluating adjacent technologies, including Gallium Nitride (&#8220;GaN&#8221;) based power supplies and additional market opportunities for energy solution products that support sustainability in our existing channels.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI https://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NatureOfOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205222193680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation and Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Basis of Presentation and Summary of Significant Accounting Policies</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">BASIS OF PRESENTATION AND</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</span><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of presentation</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The significant accounting policies of our Company, which are summarized below, are consistent with accounting principles generally accepted in the United States (&#8220;U.S. GAAP&#8221;) and reflect practices appropriate to the business in which we operate. Unless indicated otherwise, the information in the Notes to the Consolidated Financial Statements relates to our operations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have prepared the accompanying financial data for the three months ended March&#160;31, 2023 and 2022 pursuant to the rules and regulations of the United States Securities and Exchange Commission. Certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The accompanying financial data and information should be read in conjunction with our Annual Report on Form 10-K for the year ended December&#160;31, 2022 (&#8220;2022 Annual Report&#8221;). The Condensed Consolidated Balance Sheet as of December&#160;31, 2022 has been derived from the audited consolidated financial statements at that date but does not include all of the information and footnotes required by U.S. GAAP for complete financial statements.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the opinion of management, the accompanying condensed consolidated financial statements contain all normal and recurring adjustments necessary to present fairly our Condensed Consolidated Balance Sheets as of March&#160;31, 2023 and December&#160;31, 2022, Condensed Consolidated Statements of Operations for the three months ended March&#160;31, 2023 and 2022, Condensed Consolidated Statements of Changes in Stockholders&#8217; Equity for the three months ended March&#160;31, 2023 and 2022, and Condensed Consolidated Statements of Cash Flows for the three months ended March&#160;31, 2023 and 2022.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Going Concern and Nasdaq Continued Listing Requirements Compliance</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due to our financial performance as of March&#160;31, 2023 and December&#160;31, 2022, including net losses of $1.3 million  for the three months ended March 31, 2023 and $10.3 million for the twelve months ended December 31, 2022, and total cash used in operating activities of  $1.2 million for the three months ended March 31, 2023 and $6.7 million for the twelve months ended December 31, 2022, we determined that substantial doubt about our ability to continue as a going concern continues to exist at March&#160;31, 2023. As a result of restructuring actions and initiatives, we have tailored our operating expenses to be more in line with our expected sales volumes; however, we continue to incur losses and have a substantial accumulated deficit.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, global supply chain and logistics constraints are impacting our inventory purchasing strategy, as we seek to manage both shortages of available components and longer lead times in obtaining components while balancing the development and implementation of an inventory reduction plan. Disruptions in global logistics networks are also impacting our lead times and ability to efficiently and cost-effectively transport products from our third-party suppliers to our facility. As a result, we will continue to review and pursue selected external funding sources to ensure adequate financial resources to execute across the timelines required to achieve these objectives including, but not limited to, the following:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining financing from traditional or non-traditional investment capital organizations or individuals; </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining funding from the sale of our common stock or other equity or debt instruments; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining debt financing with lending terms that more closely match our business model and capital needs.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There can be no assurance that we will obtain funding on acceptable terms, in a timely fashion, or at all. Obtaining additional funding contains risks, including:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">additional equity financing may not be available to us on satisfactory terms, particularly in light of the current price of our common stock, and any equity we are able to issue could lead to dilution for current stockholders and have rights, preferences and privileges senior to our common stock;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">loans or other debt instruments may have terms or conditions, such as interest rate, restrictive covenants, conversion features, refinancing demands, and control or revocation provisions, which are not acceptable to management or the Company&#8217;s Board of Directors (the &#8220;Board of Directors&#8221;); and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the current environment in the capital markets and volatile interest rates, combined with our capital constraints, may prevent us from being able to obtain adequate debt financing.</span></div><div style="margin-bottom:10pt;padding-left:2.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Along with the new additions to the Board of Directors, we hired a permanent Chief Executive Officer in September 2022, following a period of interim leadership by our current Lead Independent Director after the departure of our previous Chief Executive Officer in February 2022 and Chief Financial Officer and Chief Operating Officer in May 2022.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Considering both quantitative and qualitative information, we continue to believe that the combination of our plans to ensure adequate external funding, timely re-organizational actions, current financial position, liquid resources, obligations due or anticipated within the next year, development and implementation of an excess inventory reduction plan, plans and initiatives in our research and development, product development and sales and marketing, and development of potential channel partnerships, if adequately executed, could provide us with an ability to finance our operations through the next twelve months and may mitigate the substantial doubt about our ability to continue as a going concern.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our Common Stock is listed on the Nasdaq Capital Market, which has as one of its continued listing requirements a minimum bid price of at least $1.00 per share. Recently our Common Stock has traded significantly below $1.00 per share. On August 23, 2022, we received a letter from the Listing Qualifications Staff (the &#8220;Staff&#8221;) of The Nasdaq Stock Market notifying us that we were no longer in compliance with the requirement to maintain a minimum closing bid price of $1.00 per share, as set forth in Nasdaq Listing Rule 5550(a)(2) (the &#8220;Bid Price Rule&#8221;), because the closing bid price for our common stock was below the minimum $1.00 per share for 30 consecutive business days. In accordance with Nasdaq Listing Rule 5810(c)(3)(A), we were provided an initial period of 180 calendar days, or until February 20, 2023, to regain compliance with the Bid Price Rule. During the initial compliance period, our Common Stock continued to trade on the Nasdaq Capital Market, but did not satisfy the Bid Price Rule.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November 16, 2022, we received a letter from the Staff notifying us that we were no longer in compliance with Nasdaq Listing Rule 5550(b)(1), which requires listed companies to maintain stockholders&#8217; equity of at least $2.5 million if they do not meet the alternative compliance standards relating to the market value of listed securities or net income from continuing operations (the &#8220;Minimum Stockholders&#8217; Equity Rule&#8221;). Our Form 10-Q for the Quarterly Period Ended September 30, </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022 filed on November 10, 2022 reflected that our stockholders&#8217; equity as of September 30, 2022 was $1.5 million. Based on our timely submission of our plan to regain compliance (the &#8220;Plan&#8221;), Nasdaq granted us an extension through May 15, 2023 to regain compliance with the Minimum Stockholders&#8217; Equity Rule.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 21, 2023, we received written notification (the &#8220;Bid Price Notification&#8221;) from the Staff stating that we had not regained compliance with the Bid Price Rule and our common stock is subject to delisting from Nasdaq. On February 24, 2023, we submitted a request for a hearing before the Nasdaq Hearings Panel (the &#8220;Panel&#8221;) to appeal the delisting (the &#8220;Appeal&#8221;).  Under Nasdaq rules, the delisting of the Company&#8217;s common stock was stayed during the pendency of the Appeal and, during such time, the Company&#8217;s common stock continued to be listed on Nasdaq.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 28, 2023, the Company received written notification (the &#8220;Additional Staff Determination&#8221;) from the Staff stating that (i) following the Bid Price Notification, and in accordance with Listing Rule 5810(c)(2)(A), Nasdaq is no longer permitted to consider the stockholders&#8217; equity compliance plan, (ii) the Additional Staff Determination serves as an additional basis for delisting the Company&#8217;s common stock from Nasdaq and (iii) the Panel will consider the Additional Staff Determination in rendering a determination regarding the continued listing of the Company&#8217;s common stock on Nasdaq.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April 6, 2023, the Company participated in the Appeal before the Panel. The Company provided an update to the Panel on the Company&#8217;s substantial progress made towards the previously submitted Stockholders&#8217; Equity Requirement Plan during the three months ended March 31, 2023, and requested the Panel grant the Company an exception to (1) re-allow the previously granted exception until May 15, 2023 for the Company to regain compliance with the Stockholders&#8217; Equity Requirement and (2) grant an exception allowing the Company up to 180 days following the Bid Price Notification to regain compliance with the Bid Price Requirement by effecting a reverse stock split following stockholder approval at the Annual Meeting. On May 1, 2023, the Panel granted the Company&#8217;s request to continue the Company&#8217;s listing on Nasdaq, subject to the following conditions: (1) on or before May 15, 2023, the Company shall file with the SEC its quarterly report for the three months ended March 31, 2023 demonstrating compliance with the Stockholders&#8217; Equity Requirement and (2) on or before July 7, 2023, the Company shall demonstrate compliance with the Bid Price Rule. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of the date of this Quarterly Report, the Company believes it has regained compliance with the Stockholders&#8217; Equity Requirement for continued listing on the Nasdaq Capital Market. However, there can be no assurance that the Appeal will be successful or that the Company will be able to regain compliance with the Bid Price Rule or maintain compliance with the Stockholders&#8217; Equity Requirement, Bid Price Rule, or other Nasdaq listing requirements. If the Company fails to regain compliance with Nasdaq&#8217;s continued listing standards in accordance with the Panel&#8217;s decision, the Company&#8217;s common stock will be subject to delisting from Nasdaq.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Use of estimates</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in accordance with U.S. GAAP requires management to make estimates and assumptions that affect the amounts reported in our financial statements and accompanying notes. Management bases its estimates on historical experience and various other assumptions believed to be reasonable. Although these estimates are based on management&#8217;s best knowledge of current events and actions that may impact us in the future, actual results may vary from the estimates. Estimates include, but are not limited to, the establishment of reserves for accounts receivable, sales returns, inventory obsolescence and warranty claims; the useful lives of property and equipment; valuation allowance for net deferred taxes; and stock-based compensation. The Company began using estimates for its calculation of impairment to accounts receivable under Accounting Standards Codification (&#8220;ASC&#8221;) 326 commencing in 2023. In addition, estimates and assumptions associated with the determination of the fair value of financial instruments and evaluation of long-lived assets for impairment requires considerable judgment. Actual results could differ from those estimates and such differences could be material.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales include revenues from sales of products and shipping and handling charges, net of estimates for product returns. Revenue is measured at the amount of consideration we expect to receive in exchange for the transferred products. We recognize revenue at the point in time when we transfer the promised products to the customer and the customer obtains control over the products. Distributors&#8217; obligations to us are not contingent upon the resale of our products. We recognize revenue for shipping and handling charges at the time the goods are shipped to the customer, and the costs of outbound freight are included in cost of sales. We provide for product returns based on historical return rates. While we incur costs for </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">sales commissions to our sales employees and outside agents, we recognize commission costs concurrent with the related revenue, as the amortization period is less than one year. We do not incur any other incremental costs to obtain contracts with our customers. Our product warranties are assurance-type warranties, which promise the customer that the products are as specified in the contract. Therefore, the product warranties are not a separate performance obligation and are accounted for as described below. Sales taxes assessed by governmental authorities are accounted for on a net basis and are excluded from net sales.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides a disaggregation of product net sales for the periods presented (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.614%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.169%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net sales:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">321&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,134&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MMM products</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">609&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">927&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total net sales</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">930&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,061&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accounts Receivable</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our trade accounts receivable consists of amounts billed to and currently due from customers. Our customers are concentrated in the United States. In the normal course of business, we extend unsecured credit to our customers related to the sale of our products. Credit is extended to customers based on an evaluation of the customer&#8217;s financial condition and the amounts due are stated at their estimated net realizable value. We maintain allowances for sales returns and doubtful accounts receivable to provide for the estimated number of account receivables that will not be collected. The allowance is based on an assessment of forward looking customer credit-worthiness and historical payment experience, the age of outstanding receivables, and performance guarantees to the extent applicable. Past due amounts are written off when our internal collection efforts have been unsuccessful, and payments subsequently received on such receivables are credited to the allowance for doubtful accounts. We do not generally require collateral from our customers.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our standard payment terms with customers are net 30 days from the date of shipment, and we do not generally offer extended payment terms to our customers, but exceptions are made in some cases for major customers or with particular orders. Accordingly, we do not adjust trade accounts receivable for the effects of financing, as we expect the period between the transfer of product to the customer and the receipt of payment from the customer to be in line with our standard payment terms.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Through November 2022, we utilized a third-party account receivable insurance program with a very high credit worthy insurance company where we had the large majority of the accounts receivable arising during the policy term insured with a portion of self-retention. This third party also provided credit-worthiness ratings and metrics that significantly assisted us in evaluating the credit-worthiness of both existing and new customers.  Although the insurance policy is no longer in place, all invoices issued under the previous coverage period are still covered under the policy. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 1, 2023, the Company adopted ASC 326, Measurement of Credit Losses on Financial Instruments (&#8220;CECL&#8221;). The standard adds to U.S. GAAP an impairment model known as the CECL model, which is based on expected losses rather than incurred losses. This standard only impacts the Company&#8217;s trade receivables. The Company decided to use the roll rate method of valuing its reserve for trade receivables. The reserve is based on a careful review of claims made during 2022 against unpaid invoices. This resulted in a $2.6&#160;thousand adjustment to Retained Earnings as of December 31, 2022 and a charge of $12&#160;thousand to bad debt expense in the first quarter of 2023.  </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to ASC 606, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue Recognition</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, contract assets and contract liabilities as of the beginning and ending of the reporting periods must be disclosed. Below is the breakout of the Company&#8217;s contract assets for such periods:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:45.896%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.400%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.400%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.170%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross Accounts Receivable</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">967&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">471&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,337&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Allowance for Doubtful Accounts</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(58)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net Accounts Receivable</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">909&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">445&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,330&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span><br/></span></div><div style="margin-bottom:10pt"><span><br/></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Geographic information</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">All of our long-lived fixed assets are located in the United States. For the three months ended March 31, 2023, 1% of sales were attributable to customers outside the United States. For the three months ended March 31, 2022, 2% of sales were attributable to customers outside the United States. The geographic location of our net sales is derived from the destination to which we ship the product.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net loss per share </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic loss per share is computed by dividing net loss available to common stockholders by the weighted average number of shares of common stock outstanding during the period, excluding the effects of any potentially dilutive securities. Diluted loss per share gives effect to all dilutive potential shares of common stock outstanding during the period. Dilutive potential shares of common stock consist of incremental shares upon the exercise of stock options, warrants and convertible securities, unless the effect would be anti-dilutive.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a reconciliation of basic and diluted loss per share computations (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.314%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.851%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.168%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,333)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,821)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic and diluted weighted average shares of common stock outstanding </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,172&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,437&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the net loss we incurred for the three months ended March 31, 2023, convertible securities representing approximately 175&#160;thousand shares of common stock were excluded from the basic loss per share calculation because their inclusion would have been anti-dilutive. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the net loss we incurred for the three months ended March 31, 2022, warrants and convertible securities representing approximately 16&#160;thousand and 175&#160;thousand shares of common stock, respectively, were excluded from the basic loss per share calculation because their inclusion would have been anti-dilutive. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Product warranties</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We warrant our commercial and MMM LED products and controls for periods generally ranging from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAxNg_16e1c2b7-1b11-4993-a4ef-f853eb7486b6"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAxNg_5f339c5e-7af8-42cc-a026-46659e81cb9d">five</span></span> to ten years. Warranty settlement costs consist of actual amounts expensed for warranty, which are largely a result of the cost of replacement products or rework services provided to our customers. A liability for the estimated future costs under product warranties is maintained for products under warranty based on the actual claims incurred to date and the estimated nature, frequency, and costs of future claims. As warranty coverage from prior period sales expire, previous accruals are released.  These estimates are inherently uncertain and changes to our historical or projected experience may cause material changes to our warranty reserves in the future. We continuously review the assumptions related to the adequacy of our warranty reserve, including product failure rates, and make adjustments to the existing warranty liability when there are changes to these estimates or the underlying replacement product costs, or the warranty period expires.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes warranty activity for the periods presented (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.614%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.169%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at beginning of period</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">183&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">295&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Warranty accruals for current period sales</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustments to existing warranties</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(39)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">In kind settlements made during the period</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accrued warranty reserve at end of period</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">265&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Instruments</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair Value Measurements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value hierarchy prioritizes the inputs to valuation techniques used to measure fair value, giving the highest priority to unadjusted quoted prices in active markets for identical assets or liabilities (Level 1 measurements) and the lowest priority to unobservable inputs (Level 3 measurements). The three levels of the fair value hierarchy are described below. We classify the inputs used to measure fair value into the following hierarchy:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:8.509%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:89.291%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unadjusted quoted prices in active markets for identical assets or liabilities.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 2</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unadjusted quoted prices in active markets for similar assets or liabilities, or unadjusted quoted prices for identical or similar assets or liabilities in markets that are not active, or inputs other than quoted prices that are observable for the asset or liability.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 3</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unobservable inputs for the asset or liability.</span></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying amounts of certain financial instruments including cash, accounts receivable, accounts payable, and accrued liabilities approximate fair value due to their short maturities. Based on borrowing rates currently available to us for loans with similar terms, the carrying value of borrowings under our revolving credit facilities also approximates fair value.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A financial instrument&#8217;s level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. In determining the appropriate levels, we perform a detailed analysis of the assets and liabilities whose fair value is measured on a recurring basis. We review and reassess the fair value hierarchy classifications on a quarterly basis. Changes from one quarter to the next related to the observability of inputs in a fair value measurement may result in a reclassification between fair value hierarchy levels. There were no reclassifications for all periods presented.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Certain risks and concentrations</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have certain customers whose net sales individually represented 10% or more of our total net sales, or whose net trade accounts receivable balance individually represented 10% or more of our total net trade accounts receivable; we have certain suppliers, which individually represent 10% or more of our total purchases, or whose trade accounts payable balance individually represented 10% or more of our total trade accounts payable balance, as follows:</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended March 31, 2023, sales to our primary distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a distributor to the U.S. Department of Defense, accounted for approximately 22%, 27%, and 11% of net sales, respectively. When sales for our top military customers are combined, total net sales of military products comprised approximately 49% of net sales for the same period. For the three months ended March 31, 2022, sales to our primary distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a commercial building systems provider, accounted for approximately 15%, 21%, and 19% of net sales, respectively. When sales to our primary distributor for the U.S. Navy are combined with sales to shipbuilders for the U.S. Navy, total net sales of products for the U.S. Navy comprised approximately 37% of net sales for the same period.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a distributor to the U.S. Department of Defense, accounted for approximately 32%, 22%, and 17% of net trade accounts receivable, respectively, at March&#160;31, 2023. At December&#160;31, 2022, a distributor to the U.S. Department of Defense accounted for 25% of our net trade accounts receivable, and when combined with our net trade accounts receivable to shipbuilders for the U.S. Navy, total net accounts receivable related to U.S. Navy sales is 30% of our net trade accounts receivable.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No one supplier accounted for more than 10% of our total expenditures for the three months ended March&#160;31, 2023. For the three months ended March 31, 2022, one offshore supplier accounted for approximately 19% of total expenditures.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At March&#160;31, 2023 and December&#160;31, 2022, one offshore supplier accounted for approximately 36% of our trade accounts payable balance. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recent adopted accounting standard</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the Financial Accounting Standards Board issued Accounting Standard Update No. 2016-13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which significantly changes the accounting for credit losses on instruments within its scope. The new guidance introduces an approach based on expected losses to estimate credit losses on certain financial instruments, including trade receivables, and requires an entity to recognize an allowance based on its estimate of expected credit losses rather than incurred losses. For smaller reporting companies, this standard became effective for interim and annual periods starting after December 15, 2022, and has been adopted by the Company. The adoption of this guidance did not have a material impact on our consolidated financial position or results of operations.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18726-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI https://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205222823312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">Inventories</a></td>
<td class="text">INVENTORIES<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are stated at the lower of standard cost (which approximates actual cost determined using the first-in, first-out cost method) or net realizable value, and consist of the following (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.614%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.169%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,936&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,347&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,509&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,656&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reserves for excess, obsolete, and slow-moving inventories </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,507)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,527)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Inventories, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,938&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,476&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a roll-forward of the reserves for excess, obsolete, and slow-moving inventories (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.764%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.400%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.169%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,527)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,050)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrual</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(56)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(145)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reduction due to sold inventory</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Reserves for excess, obsolete, and slow-moving inventories</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,507)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,179)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI https://asc.fasb.org/topic&amp;trid=2126998<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205222823312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property and Equipment</a></td>
<td class="text">PROPERTY AND EQUIPMENT<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost and depreciated using the straight-line method over the estimated useful lives of the related assets and consist of the following (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.614%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.169%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Equipment (useful life 3 to 15 years)</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,061&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,061&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tooling (useful life 2 to 5 years)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">190&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">190&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements (the shorter of useful life or lease life)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">141&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">141&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Property and equipment at cost</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,392&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,392&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,324)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,316)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Property and equipment, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense was $8&#160;thousand and $44&#160;thousand for the three months ended March 31, 2023 and 2022, respectively.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99893-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI https://asc.fasb.org/topic&amp;trid=2155823<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=SL120174063-112916<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126982197&amp;loc=d3e99779-112916<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205220922032">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeFinanceLeasesTextBlock', window );">Leases</a></td>
<td class="text">LEASES<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases certain equipment, manufacturing, warehouse and office space under non-cancellable operating leases with expirations through 2027 under which it is responsible for related maintenance, taxes and insurance. The Company had one finance lease on a forklift containing a bargain purchase option, which was exercised in July 2022. As of March 25, 2022, the terms of our real estate operating lease have been modified beginning July 1, 2022 and extended through 2027. In accordance with ASC 842, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (&#8220;Topic 842&#8221;), the related lease liability was remeasured and the right-of-use asset was adjusted for each lease at the time of modification. The present value of the lease obligations for the lease was calculated using an incremental borrowing rate of 16.96%, which was the Company&#8217;s blended borrowing rates (including interest, annual facility fees, collateral management fees, bank fees and other miscellaneous lender fees) on its revolving lines of credit with Crossroads Financial Group, LLC (as described below in Note 6, &#8220;Debt&#8221;) and Factors Southwest L.L.C. (as described below in Note 6, &#8220;Debt&#8221;). The present value of the other remaining lease obligations continues to be calculated using an incremental borrowing rate of 7.25% (which excludes the annual facility fee and other lender fees), which was the Company&#8217;s borrowing rate on its former revolving line of credit with Austin Financial Services, Inc. (the &#8220;Austin Credit Facility&#8221;). The weighted average remaining lease term for operating leases is 4.2 years.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of the operating lease costs recognized in net loss were as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.314%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.851%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.168%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended March 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating lease cost (income)</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sub-lease income</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(25)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease cost</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost, net</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">107&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental balance sheet information related to the Company&#8217;s operating leases as of March&#160;31, 2023 and December&#160;31, 2022 are as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.314%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.851%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.168%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,111&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,180&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:9pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,180&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,227&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:9pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Finance Leases</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Allowances for depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease assets, net</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments required under operating leases for each of the 12-month rolling periods below in effect at March&#160;31, 2023 are as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:81.632%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:16.168%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2023 to March 2024</span></td><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">385&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2024 to March 2025</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">379&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2025 to March 2026</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">387&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2026 to March 2027</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">391&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2027 to March 2028</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future undiscounted lease payments</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,641&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less imputed interest</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(461)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease obligations</span></td><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,180&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to leases for the three months ended March&#160;31, 2023 and 2022, was as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.764%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.400%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.169%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended March 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Supplemental cash flow information</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid, net, for amounts included in the measurement of lease liabilities:</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating cash flows from operating leases</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">95&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financing cash flows from finance leases</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text">LEASES<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases certain equipment, manufacturing, warehouse and office space under non-cancellable operating leases with expirations through 2027 under which it is responsible for related maintenance, taxes and insurance. The Company had one finance lease on a forklift containing a bargain purchase option, which was exercised in July 2022. As of March 25, 2022, the terms of our real estate operating lease have been modified beginning July 1, 2022 and extended through 2027. In accordance with ASC 842, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (&#8220;Topic 842&#8221;), the related lease liability was remeasured and the right-of-use asset was adjusted for each lease at the time of modification. The present value of the lease obligations for the lease was calculated using an incremental borrowing rate of 16.96%, which was the Company&#8217;s blended borrowing rates (including interest, annual facility fees, collateral management fees, bank fees and other miscellaneous lender fees) on its revolving lines of credit with Crossroads Financial Group, LLC (as described below in Note 6, &#8220;Debt&#8221;) and Factors Southwest L.L.C. (as described below in Note 6, &#8220;Debt&#8221;). The present value of the other remaining lease obligations continues to be calculated using an incremental borrowing rate of 7.25% (which excludes the annual facility fee and other lender fees), which was the Company&#8217;s borrowing rate on its former revolving line of credit with Austin Financial Services, Inc. (the &#8220;Austin Credit Facility&#8221;). The weighted average remaining lease term for operating leases is 4.2 years.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of the operating lease costs recognized in net loss were as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.314%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.851%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.168%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended March 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating lease cost (income)</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sub-lease income</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(25)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease cost</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost, net</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">107&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental balance sheet information related to the Company&#8217;s operating leases as of March&#160;31, 2023 and December&#160;31, 2022 are as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.314%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.851%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.168%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,111&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,180&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:9pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,180&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,227&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:9pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Finance Leases</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Allowances for depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease assets, net</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments required under operating leases for each of the 12-month rolling periods below in effect at March&#160;31, 2023 are as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:81.632%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:16.168%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2023 to March 2024</span></td><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">385&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2024 to March 2025</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">379&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2025 to March 2026</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">387&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2026 to March 2027</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">391&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2027 to March 2028</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future undiscounted lease payments</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,641&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less imputed interest</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(461)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease obligations</span></td><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,180&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to leases for the three months ended March&#160;31, 2023 and 2022, was as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.764%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.400%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.169%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended March 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Supplemental cash flow information</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid, net, for amounts included in the measurement of lease liabilities:</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating cash flows from operating leases</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">95&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financing cash flows from finance leases</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeFinanceLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for finance leases of lessee. Includes, but is not limited to, description of lessee's finance lease and maturity analysis of finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI https://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeFinanceLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI https://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205221253744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">Debt</a></td>
<td class="text">DEBT<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Credit facilities</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 11, 2020, we entered into two debt financing arrangements (together, the &#8220;Credit Facilities&#8221;) that allowed for expanded borrowing capacity at a lower blended borrowing cost. The first arrangement is an inventory financing facility (the &#8220;Inventory Facility&#8221;) pursuant to the Loan and Security Agreement (the &#8220;Inventory Loan Agreement&#8221;) between the Company and Crossroads Financial Group, LLC, a North Carolina limited liability company (&#8220;Crossroads&#8221;). Borrowings under the original Inventory Facility were permitted up to the lower of (i) $3.0 million, which amount was subsequently increased to $3.5 million in April 2021, and (ii) a borrowing base determined from time to time based on the value of the Company&#8217;s eligible inventory, valued at 75% of inventory costs or 85% of the inventory net orderly liquidation value, less the availability reserves. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 18, 2023, the Company and Crossroads entered into an amendment to the Inventory Loan Agreement (the &#8220;Crossroads Amendment&#8221;) to restructure and pay down the Inventory Facility. The Crossroads Amendment provides that the Company make payments to reduce the outstanding obligations under the Inventory Facility of $750 thousand by January 20, 2023 and $250 thousand by February 15, 2023 (which amounts the Company has paid). The Company also agreed to make monthly payments of approximately $40 thousand towards the remaining outstanding obligations under the Inventory Facility, and to reduce the maximum amount that may be available to the Company under the Inventory Facility from $3.5 million to $500 thousand, subject to the borrowing base as set forth in the Inventory Loan Agreement.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the Crossroads Amendment, Crossroads and the Company also agreed to extend the Inventory Facility&#8217;s current term through December 31, 2023, while eliminating the minimum borrowing amount and unused line fees and reducing the monthly service fee to a lower, fixed amount. The Company also agreed to a slightly increased interest rate, which was more than offset by the reduction in the monthly service fees. Pursuant to the Crossroads Amendment, the interest rate on borrowings under the Inventory Facility is now a per annum rate equal to (i) the Three-Month LIBOR rate plus 5.5% (currently 10.28% per annum) or (ii) at Crossroads&#8217; discretion, an alternative reference rate, SOFR (Secured Overnight Financing Rate), plus 6% (currently 10.176% per annum). As of March&#160;31, 2023, the effective rate was equal to 10.44%.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The second Credit Facility was a receivables financing facility (the &#8220;Receivables Facility&#8221;) pursuant to the Loan and Security Agreement (the &#8220;Receivables Loan Agreement&#8221;) between the Company and Factors Southwest L.L.C. (d/b/a FSW Funding), an Arizona limited liability company (the &#8220;RF Lender&#8221;). Borrowings under the Receivables Facility were permitted up to the lower of (i) $2.5 million or (ii) a borrowing base determined from time to time based on the value of the Company&#8217;s eligible accounts receivable, valued at 90% of the face value of such accounts receivable, less availability reserves, if any. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 7, 2023, the Company and the RF Lender agreed to terminate the Receivables Facility.&#160; All outstanding amounts under the Receivables Facility were repaid prior to termination, and there were no prepayment fees in connection with termination.&#160; The Receivables Facility was secured by substantially all of the present and future assets of the Company and was subject to an intercreditor agreement with the IF Lender, which intercreditor agreement was also terminated.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Inventory Facility were approximately $400 thousand and $1.4 million at March&#160;31, 2023 and December&#160;31, 2022, respectively. Borrowings under the Receivables Facility were approximately $67 thousand at December&#160;31, 2022. These facilities are recorded in the Condensed Consolidated Balance Sheets as of March&#160;31, 2023 and December&#160;31, 2022 as a current liability under the caption &#8220;Credit line borrowings.&#8221; Outstanding balances include unamortized net issuance costs totaling $29 thousand and $47 thousand for the Inventory Facility as of March&#160;31, 2023 and December&#160;31, 2022, respectively, and $15 thousand for the Receivables Facility as of December&#160;31, 2022.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Promissory Notes</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the third and fourth quarters of the year ended December 31, 2022, we entered into short-term unsecured promissory notes (the &#8220;2022 Promissory Notes&#8221;) with Mei Yun (Gina) Huang, Jay Huang, and Tingyu Lin. Ms. Huang is a member of the Board of Directors and Mr. Huang became a member of the Board of Directors in January 2023 in connection with the Sander Private Placement, as described below in Note 8, &#8220;Stockholders&#8217; Equity.&#8221; The total liability for the 2022 Promissory Notes was $1.5&#160;million at December&#160;31, 2022. All of the 2022 Promissory Notes were exchanged for common stock on January 17, 2023. See Note 8, &#8220;Stockholders&#8217; Equity.&#8221; </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes the 2022 Promissory Notes at December&#160;31, 2022:</span></div><div style="margin-bottom:10pt;text-indent:-36pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:15.082%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.353%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.858%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.353%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.858%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.491%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.996%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.491%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.996%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.491%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.996%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.491%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.720%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.491%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.720%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.313%"/><td style="width:0.1%"/></tr><tr><td colspan="45" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">G. Huang</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">J. Huang</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">J. Huang</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">G. Huang</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">J. Huang</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">J. Huang</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">T. Lin </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date entered</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 16, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">October 25, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">November 4, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">November 9, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 6, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 21, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Term</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9 months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9 months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9 months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9 months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9 months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9 months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9 months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Principal amount</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$450,000</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$50,000</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$250,000</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$350,000</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$200,000</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$100,000</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$50,000</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$1,450,000</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Maturity date</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 16, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 25, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 4, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 9, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 6, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 21, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 30, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Default interest rate</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding Amount</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$460,455</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$50,734</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$253,123</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$353,989</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$201,096</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$100,219</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$50,011</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$1,469,627</span></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Streeterville Notes</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2022 Streeterville Note</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April&#160;21, 2022, we entered into a note purchase agreement (the &#8220;2022 Streeterville Note Purchase Agreement&#8221;) with Streeterville Capital, LLC (&#8220;Streeterville&#8221;) pursuant to which we sold and issued to Streeterville a promissory note in the principal amount of approximately $2.0 million (as amended, the &#8220;2022 Streeterville Note&#8221;). The 2022 Streeterville Note was issued with an original issue discount of $215 thousand and Streeterville paid a purchase price of approximately $1.8 million for the 2022 Streeterville Note, from which the Company paid $15 thousand to Streeterville for Streeterville&#8217;s transaction expenses. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The 2022 Streeterville Note had an original maturity date of April&#160;21, 2024, and accrues interest at 8% per annum, compounded daily, on the outstanding balance. On January 17, 2023, we agreed with Streeterville to restructure and pay down the 2022 Streeterville Note and extend its maturity date to December 1, 2024 (the &#8220;2022 Streeterville Note Amendment&#8221;). We agreed to make payments to reduce the outstanding amounts of the 2022 Streeterville Note by $500 thousand by January 20, 2023 (which amount has been paid) and by $250 thousand by July 14, 2023 ($125&#160;thousand of which has already been satisfied pursuant to the March 2023 Exchange Agreement (as defined below)). Streeterville agreed to extend the term of the 2022 Streeterville Note through December 1, 2024, and beginning January 1, 2024, we would make twelve monthly repayments of approximately $117 thousand each. We would have the right to prepay any of the scheduled repayments at any time or from time to time without additional penalty or fees. Provided we make all payments as scheduled or earlier, the 2022 Streeterville Note will be deemed paid in full and shall automatically be deemed canceled.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 31, 2023, the Company entered into an Exchange Agreement (the &#8220;March 2023 Exchange Agreement&#8221;) with Streeterville, pursuant to which we agreed to (i) partition from the 2022 Streeterville Note a new Promissory Note (the &#8220;March 2023 Partitioned Note&#8221;) in the original principal amount of $250 thousand (the &#8220;March 2023 Exchange Amount&#8221;), (ii) cause the outstanding balance of the 2022 Streeterville Note to be reduced by an amount equal to the March 2023 Exchange Amount, and (iii) exchange (the &#8220;March 2023 Exchange&#8221;) the March 2023 Partitioned Note for 502,008 shares of the Company&#8217;s common stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The March 2023 Exchange was priced at-the-market under the Nasdaq rules and was effected pursuant to one or more exemptions from the registration requirements of the Securities Act of 1933, as amended (the &#8220;Securities Act&#8221;). There are no gross proceeds to the Company in respect of the March 2023 Exchange, provided that $125&#160;thousand of the March 2023 Exchange Amount will be applied toward the $250 thousand payment due on or before July 14, 2023 pursuant to the 2022 Streeterville Note Amendment, $125&#160;thousand will be credited to satisfy the December 1, 2024 required payment and a portion of the November 1, 2024 required payment, in each case pursuant to the 2022 Streeterville Note Amendment. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total liability for the 2022 Streeterville Note, net of discount and financing fees, was approximately $1.3 million and $2.0 million at March&#160;31, 2023 and December&#160;31, 2022, respectively.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the event our common stock is delisted from Nasdaq, the amount outstanding under the 2022 Streeterville Note will automatically increase by 15% as of the date of such delisting.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2021 Streeterville Note</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April&#160;27, 2021, we entered into a note purchase agreement with Streeterville pursuant to which we sold and issued to Streeterville a promissory note in the principal amount of approximately $1.7 million (the &#8220;2021 Streeterville Note&#8221;). The 2021 Streeterville Note was issued with an original issue discount of $194&#160;thousand and Streeterville paid a purchase price of $1.5 million for the 2021 Streeterville Note, after deduction of $15&#160;thousand of Streeterville&#8217;s transaction expenses.  The 2021 Streeterville Note had a maturity date of April&#160;27, 2023, and accrued interest at 8% per annum, compounded daily, on the outstanding balance.</span></div>Beginning on November 1, 2021, Streeterville could require the Company to redeem up to $205&#160;thousand of the 2021 Streeterville Note in any calendar month. The Company had the right on three occasions to defer all redemptions that Streeterville could otherwise require the Company to make during any calendar month. Each exercise of this deferral right by the Company increased the amount outstanding under the Streeterville Note by 1.5%. The Company exercised this right twice during the fourth quarter of 2021, once during the second quarter of 2022 and once during the third quarter of 2022. The Company and Streeterville agreed to exchange common stock, priced at-the-market, for the required redemptions in October 2022 and December 2022, totaling $305&#160;thousand converted to equity.  These exchanges satisfied the redemption notices provided by Streeterville, and following the December 2022 exchange, the 2021 Streeterville Note was paid in full. We wrote off $100&#160;thousand in remaining original issue discount costs at that time.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI https://asc.fasb.org/topic&amp;trid=2208564<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205221421936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text">INCOME TAXES<div style="margin-bottom:10pt;padding-right:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the operating loss incurred during each of the three months ended March&#160;31, 2023 and 2022, and after the application of the annual limitation set forth under Section 382 of the Internal Revenue Code of 1986, as amended (the &#8220;IRC&#8221;), it was not necessary to record a provision for U.S. Federal income tax.</span></div><div style="margin-bottom:10pt;padding-right:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At March&#160;31, 2023 and December&#160;31, 2022, we had a full valuation allowance recorded against our deferred tax assets.</span></div><div style="margin-bottom:10pt;padding-right:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The valuation allowance was recorded due to uncertainties related to our ability to realize the deferred tax assets, primarily consisting of certain net operating loss carry-forwards. The valuation allowance is based on management&#8217;s estimates of taxable income by jurisdiction and the periods over which the deferred tax assets will be recoverable.</span></div><div style="margin-bottom:10pt;padding-right:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2022, we had a net operating loss carry-forward of approximately $132.4 million for federal income tax purposes ($77.6 million for state and local income tax purposes). However, due to changes in our capital structure, approximately $71.0 million of the $132.4 million is available to offset future taxable income after the application of the limitations found under Section 382 of the Internal Revenue Code of 1986, as amended. As a result of the Tax Cuts and Jobs Act of 2017 (the &#8220;Tax Act&#8221;), net operating loss carry-forwards generated in tax years beginning after December 31, 2017 can only offset 80% of taxable income and can be carried forward indefinitely. The $9.2 million and $9.6 million in federal net operating losses generated in 2022 and 2021, respectively, will be subject to the new limitations under the Tax Act. If not utilized, the carry-forwards generated prior to December 31, 2017 of $37.5 million will begin to expire in 2023 for federal purposes and have begun to expire for state and local purposes. For a full discussion of the estimated restrictions on our utilization of net operating loss carry-forwards, please refer to Note 11, &#8220;Income Taxes,&#8221; included under Item 8, &#8220;Financial Statements and Supplementary Data,&#8221; of our 2022 Annual Report.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI https://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI https://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205221404048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock', window );">Stockholders' Equity</a></td>
<td class="text">STOCKHOLDERS&#8217; EQUITY<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 2023 Private Placements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 28, 2023,the Company entered into a securities purchase agreement with Jay Huang, a member of the Board of Directors, pursuant to which the Company agreed to issue and sell, in a private placement (the &#8220;March 28, 2023 Private Placement&#8221;), 108,502 shares of the Company&#8217;s common stock for a purchase price of $0.5609 per share.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 30, 2023, the Company entered into a securities purchase agreement with Mei Yun (Gina) Huang, a member of the Board of Directors, pursuant to which the Company agreed to issue and sell, in a private placement (collectively with the March 28, 2023 Private Placement, the &#8220;March 2023 Private Placements&#8221;), 500,000 shares of the Company&#8217;s common stock for a purchase price of $0.5000 per share.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aggregate gross proceeds to the Company in respect of the March 2023 Private Placements were $305 thousand, before deducting estimated offering expenses payable by the Company. Each of the March 2023 Private Placements was priced at-the-market under the Nasdaq rules. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">February 2023 Private Placement</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 24, 2023, the Company entered into a securities purchase agreement with Mei Yun (Gina) Huang, a member of the Board of Directors, pursuant to which the Company agreed to issue and sell, in a private placement (the &#8220;February 2023 Private Placement&#8221;), 803,212 shares of the Company&#8217;s common stock, for a purchase price of $0.4980 per share.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross proceeds to the Company in respect of the February 2023 Private Placement were $400&#160;thousand, before deducting estimated offering expenses payable by the Company. The February 2023 Private Placement was priced at fair market value under the Nasdaq rules.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">January 2023 Sander Electronics Private Placement</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 17, 2023, the Company entered into a securities purchase agreement (the &#8220;Sander Purchase Agreement&#8221;) with certain purchasers associated with Sander Electronics, Inc., pursuant to which the Company agreed to issue and sell in a private placement (the &#8220;Sander Private Placement&#8221;) an aggregate of 5,446,252 shares of common stock for a purchase price per share of $0.5008. Consideration for the transaction included exchange of approximately $657 thousand in the aggregate of outstanding amounts on previous short-term bridge financings, including the 2022 Promissory Notes issued to Mr. Huang, as described above in Note 6, &#8220;Debt&#8221;.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aggregate gross proceeds from the Sander Private Placement were approximately $2.1&#160;million. The Sander Private Placement was priced at-the-market under the Nasdaq rules. Pursuant to the Sander Purchase Agreement, the Company agreed to increase the size of the Board of Directors to eight members and to appoint each of Jay (Chiao Chieh) Huang and Wen-Jeng Chang as a director for a term expiring at the 2023 annual meeting of the Company&#8217;s stockholders or his earlier resignation, death or removal in accordance with the Company&#8217;s bylaws.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">January 2023 Transactions with Mei Yun (Gina) Huang</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 5, 2023, the Company entered into a securities purchase agreement with Mei Yun (Gina) Huang, a member of the Board of Directors, pursuant to which the Company agreed to issue and sell, in a private placement, 257,798 shares of the Company&#8217;s common stock, for a purchase price of $0.3879 per share. On January 10, 2023, the Company entered into a securities purchase agreement with Ms. Huang, pursuant to which the Company agreed to issue and sell, in a private placement, 325,803 shares of the Company&#8217;s common stock for a purchase price of $0.4604 per share.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aggregate gross proceeds to the Company in respect of these private placements to Ms. Huang are $250&#160;thousand, before deducting estimated offering expenses payable by the Company. Each of the private placements to Ms. Huang was priced at fair market value under the Nasdaq rules.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 17, 2023, the Company and Ms. Huang entered into exchange agreements pursuant to which the Company and Ms. Huang agreed to exchange the approximately $809,000 aggregate outstanding amounts on previous short-term bridge financings, including the 2022 Promissory Notes issued to Ms. Huang, as described above in Note 6, &#8220;Debt&#8221;, for an aggregate of 1,436,959 shares of common stock at a price per share of $0.5630.  The exchanges were priced at fair market value under the Nasdaq rules.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 2022 Private Placement</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2022, we completed a private placement (the &#8220;June 2022 Private Placement&#8221;) with certain institutional investors for the sale of 1,313,462 shares of our common stock at a purchase price of $1.30 per share. We also sold to the same institutional investors (i) pre-funded warrants (the &#8220;June 2022 Pre-Funded Warrants&#8221;) to purchase 1,378,848 shares of common stock at an exercise price of $0.0001 per share and (ii) warrants (collectively with the June 2022 Pre-Funded Warrants, the &#8220;June 2022 Warrants&#8221;) to purchase up to an aggregate of 2,692,310 shares of common stock at an exercise price of $1.30 per share. In connection with the June 2022 Private Placement, we paid the placement agent commissions of $252&#160;thousand, plus $35&#160;thousand in expenses, and we also paid legal, accounting and other fees of $47&#160;thousand. Total offering costs of $334&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Condensed Consolidated Balance Sheet as of December&#160;31, 2022. Net proceeds to us from the June 2022 </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Private Placement were approximately $3.2 million. We determined the exercise price of the June 2022 Pre-Funded Warrants to be nominal and, as such, have considered the 1,378,848 shares underlying them to be outstanding effective June 7, 2022, for purposes of calculating net loss per share. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In July 2022, all of the June 2022 Pre-Funded Warrants were exercised. As of March&#160;31, 2023, June 2022 Warrants to purchase an aggregate of 2,692,310 shares of common stock remained outstanding, with an exercise price of $1.30 per share.  The exercise of the remaining June 2022 Warrants outstanding could provide us with cash proceeds of up to $3.5 million in the aggregate.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 2021 Private Placement</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2021, we completed a private placement (the &#8220;December 2021 Private Placement&#8221;) with certain institutional investors for the sale of 1,193,185 shares of our common stock at a purchase price of $3.52 per share. We also sold to the same institutional investors (i) pre-funded warrants (the &#8220;December 2021 Pre-Funded Warrants&#8221;) to purchase 85,228 shares of common stock at an exercise price of $0.0001 per share and (ii) warrants (collectively with the December 2021 Pre-Funded Warrants, the &#8220;December 2021 Warrants&#8221;) to purchase up to an aggregate of 1,278,413 shares of common stock at an exercise price of $3.52 per share. In connection with the December 2021 Private Placement, we paid the placement agent commission of $360&#160;thousand plus $42&#160;thousand in expenses and we also paid legal, accounting and other fees of $97&#160;thousand. Total offering costs of $499&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December 31, 2021.  Net proceeds from the December 2021 Private Placement were approximately $4.0 million. We determined the exercise price of the December 2021 Pre-Funded Warrants to be nominal and, as such, considered the 85,228 shares underlying them to be outstanding effective December 16, 2021, for purposes of calculating net loss per share.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2022, all of the December 2021 Pre-Funded Warrants were exercised. As of March&#160;31, 2023, December 2021 Warrants to purchase an aggregate of 1,278,413 shares remained outstanding, with an exercise price of $3.52 per share. The December 2021 Warrants expire on December&#160;16, 2026. The exercise of the remaining December 2021 Warrants outstanding could provide us with cash proceeds of up to $4.5 million in the aggregate.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Preferred Stock</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 29, 2019, we issued $1.7&#160;million aggregate principal amount of subordinated convertible promissory notes (the &#8220;Convertible Notes&#8221;) to certain investors in a private placement exempt from registration requirements of the Securities Act. The Convertible Notes had a maturity date of December 31, 2021 and bore interest at a rate of 5.0% per annum until June 30, 2019 and at a rate of 10.0% thereafter.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the terms of the Convertible Notes, on January 16, 2020, following approval by our stockholders of certain amendments to the Company&#8217;s Certificate of Incorporation, the principal amount of all of the Convertible Notes and the accumulated interest thereon at the date of conversion (totaling $1.8 million) were converted at a conversion price of $0.67 per share into an aggregate of 2,709,018 shares of the Company&#8217;s Series A Preferred Stock, which is convertible on a one-for-five basis into shares of our common stock. During the year ended December 31, 2020, 111,548 shares of the Series A Preferred Stock were converted into 22,310 shares of common stock. During the year ended December 31, 2021, 1,721,023 shares of Series A Preferred Stock were converted into 344,205 shares of common stock. The Series A Preferred Stock that was converted in 2021 was held by a Schedule 13D ownership group (under Section 13(d)(3) of the Securities Exchange Act of 1934, as amended, and Rule 13d-5 promulgated thereunder) that includes Fusion Park LLC and 5 Elements Global Fund L.P. (controlled affiliates of James Tu, the Company's former Executive Chairman and Chief Executive Officer), as well as Brilliant Start Enterprise Inc. and Jag International Ltd. (controlled affiliates of Mei Yun (Gina) Huang, a member of the Company's Board of Directors). </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Series A Preferred Stock was created by the filing of a Certificate of Designation with the Secretary of State of the State of Delaware on March 29, 2019, which designated 2,000,000 shares of the Company&#8217;s preferred stock, par value $0.0001 per share, as Series A Preferred Stock (the &#8220;Original Series A Certificate of Designation&#8221;). On January 15, 2020 with prior stockholder approval, the Company amended its Certificate of Incorporation to increase the number of authorized shares of preferred stock to 5,000,000. The Original Series A Certificate of Designation was also amended on January 15, 2020, to increase the number of shares of preferred stock designated as Series A Preferred Stock to 3,300,000 (the Original Series A Certificate of Designation, as so amended, the &#8220;Series A Certificate of Designation&#8221;). </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the Series A Certificate of Designation, each holder of outstanding shares of Series A Preferred Stock is entitled to vote with holders of outstanding shares of common stock, voting together as a single class, with respect to any and all matters presented to the stockholders of the Company for their action or consideration, except as provided by law. In any such vote, each share of Series A Preferred Stock shall entitle its holder to a number of votes equal to 11.07% of the number of shares of common stock into which such share of Series A Preferred Stock is convertible.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Series A Preferred Stock (a) has a preference upon liquidation equal to $0.67 per share and then participates on an as-converted basis with the common stock with respect to any additional distributions, (b) shall receive any dividends declared and payable on our common stock on an as-converted basis, and (c) is convertible at the option of the holder into shares of our common stock on a one-for-five basis. On March 29, 2019, the Company also filed a Certificate of Elimination with respect to its authorized, but unissued, Series A Participating Preferred Stock, to return such shares to the status of undesignated preferred stock available for designation as Series A Preferred Stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The purchase agreement related to the Convertible Notes contains customary representations and warranties and provides for resale registration rights with respect to the shares of our common stock issuable upon conversion of the Series A Preferred Stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">January 2020 Equity Offering</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Issuance of Common Stock and Warrants</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2020, we completed a registered direct offering for the sale of 688,360 shares of our common stock to certain institutional investors, at a purchase price of $3.37 per share. We also sold, to the same institutional investors, warrants (the &#8220;January 2020 Investor Warrants&#8221;) to purchase up to 688,360 shares of common stock at an exercise price of $3.37 per share in a concurrent private placement for a purchase price of $0.625 per warrant. In addition, we issued to the placement agent in connection with such registered direct offering and concurrent private placement warrants (the &#8220;January 2020 Placement Agent Warrants&#8221; and, collectively with the January 2020 Investor Warrants, the &#8220;January 2020 Warrants&#8221;) to purchase up to 48,185 shares of common stock at an exercise price of $4.99 per share.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">January 2020 Warrants issued to purchase an aggregate of 229,414 shares remain outstanding at March&#160;31, 2023 with a weighted average exercise price of $3.67 per share. The exercise of January 2020 Warrants could provide us with cash proceeds of up to approximately $0.8 million in the aggregate if all January 2020 Warrants are exercised. During the three months ended March 31, 2023 and March&#160;31, 2022, no January 2020 Warrants were exercised. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March&#160;31, 2023 and 2022, we had the following outstanding January 2020 Warrants:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:31.482%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.116%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.400%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.266%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.266%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.270%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">As of March&#160;31, 2023</span></div></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">As of March&#160;31, 2022</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Number of Underlying Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Exercise Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Expiration</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jan. 2020 Investor Warrants</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">187,734</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">187,734</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$3.3700</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">January 13, 2025</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jan. 2020 Placement Agent Warrants</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,680</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,680</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$4.9940</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">January 13, 2025</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">229,414</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">229,414</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock-based compensation</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense is attributable to stock options and restricted stock unit awards. For all stock-based awards, we recognize expense using a straight-line amortization method.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock-based compensation expense and the impact it had on operations for the periods presented (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.614%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.169%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product development</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total stock-based compensation</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total unearned stock-based compensation was $144 thousand at March&#160;31, 2023, compared to $285 thousand at March&#160;31, 2022. These costs will be charged to expense and amortized on a straight-line basis in future periods. The weighted average period over which the unearned compensation at March&#160;31, 2023 is expected to be recognized is approximately 2.6 years.</span></div><div style="margin-bottom:10pt"><span><br/></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock options</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of each stock option is estimated on the date of grant using the Black-Scholes option pricing model. Estimates utilized in the calculation include the expected life of the option, risk-free interest rate, and expected volatility, and are further detailed below. Note that there were no grants made during the three months ended March 31, 2023. </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:64.966%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.566%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.400%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.568%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of options issued</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.17&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercise price</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.48&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected life of options (in years)</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.1</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividend yield</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of option activity under all outstanding stock incentive plans for the three months ended March 31, 2023 is presented as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:47.398%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.566%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.566%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.570%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Number of<br/>Options</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Exercise<br/>Price Per<br/>Share</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">330,808&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.97&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Canceled/forfeited</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(65,903)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.88&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at March 31, 2023</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">264,905&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.75&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.0</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Vested and expected to vest at March 31, 2023</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">218,307&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.87&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.8</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exercisable at March 31, 2023</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66,734&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.10&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.6</span></td></tr><tr><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Restricted stock units</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of restricted stock unit activity under all outstanding stock incentive plans for the three months ended March 31, 2023 is presented as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:47.398%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.566%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.566%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.570%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Restricted<br/>Stock Units</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Grant<br/>Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,600&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.59&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at March 31, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,600&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.59&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.4</span></td></tr><tr><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -URI https://asc.fasb.org/topic&amp;trid=2208762<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI https://asc.fasb.org/topic&amp;trid=2228938<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205221315552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text">COMMITMENTS AND CONTINGENCIESPurchase CommitmentsAs of March&#160;31, 2023, we had approximately $1,391&#160;thousand in outstanding purchase commitments for inventory. Of this amount, approximately $1,376&#160;thousand is expected to ship in the second quarter of 2023, and $15&#160;thousand expected to ship in the third quarter of 2023 and thereafter.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI https://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI https://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205225473344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Income<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherIncomeAndExpensesAbstract', window );"><strong>Other Income and Expenses [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock', window );">Other Income</a></td>
<td class="text">OTHER INCOME<div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Employee Retention Tax Credit</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Coronavirus Aid, Relief and Economic Security Act (the &#8220;CARES Act&#8221;), which was enacted on March 27, 2020, provides an Employee Retention Tax Credit (&#8220;ERTC&#8221;) that is a refundable tax credit against certain employer taxes. The ERTC was subsequently amended by the Taxpayer Certainty and Disaster Tax Relief Act of 2020, the Consolidated Appropriation Act of 2021, and the American Rescue Plan Act of 2021, all of which amended and extended the ERTC availability and guidelines under the CARES Act. Following these amendments, we and other businesses became retroactively eligible for the ERTC, and as a result of the foregoing legislation, are eligible to claim a refundable tax credit against the employer share of Social Security taxes equal to 70% of the qualified wages paid to employees between January 1, 2021 and September 30, 2021. Qualified wages are limited to $10,000 per employee per calendar quarter in 2021 for a maximum allowable ERTC per employee of $7,000 per calendar quarter in 2021. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For purposes of the amended ERTC, an eligible employer is defined as having experienced a significant (20% or more) decline in gross receipts during each of the first three 2021 calendar quarters when compared with the same quarter in 2019 or the immediately preceding quarter to the corresponding calendar quarter in 2019. The credit is taken against the </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Company&#8217;s share of Social Security Tax when the Company&#8217;s payroll provider files, or subsequently amends the applicable quarterly employer tax filings.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the amended guidelines, we are eligible to receive the ERTC for the second and third quarters of 2021. As part of the filing of our employer tax filings for the third quarter of 2021, we applied for and received a refund of $431&#160;thousand, and we amended our filing for the second quarter of 2021, for which we received an additional refund of approximately $445&#160;thousand. These amounts are recorded as other income in the Consolidated Statements of Operations during the quarter ended December&#160;31, 2021, and the $445&#160;thousand as an expected receivable in the Consolidated Balance Sheet as of March&#160;31, 2023 and December&#160;31, 2022.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherIncomeAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherIncomeAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for other income or other expense items (both operating and nonoperating). Sources of nonoperating income or nonoperating expense that may be disclosed, include amounts earned from dividends, interest on securities, profits (losses) on securities, net and miscellaneous other income or income deductions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 720<br> -URI https://asc.fasb.org/topic&amp;trid=2122503<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 610<br> -URI https://asc.fasb.org/topic&amp;trid=49130413<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205219712688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation and Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of presentation</a></td>
<td class="text"><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of presentation</span></div><div style="text-align:justify"><span><br/></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The significant accounting policies of our Company, which are summarized below, are consistent with accounting principles generally accepted in the United States (&#8220;U.S. GAAP&#8221;) and reflect practices appropriate to the business in which we operate. Unless indicated otherwise, the information in the Notes to the Consolidated Financial Statements relates to our operations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have prepared the accompanying financial data for the three months ended March&#160;31, 2023 and 2022 pursuant to the rules and regulations of the United States Securities and Exchange Commission. Certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The accompanying financial data and information should be read in conjunction with our Annual Report on Form 10-K for the year ended December&#160;31, 2022 (&#8220;2022 Annual Report&#8221;). The Condensed Consolidated Balance Sheet as of December&#160;31, 2022 has been derived from the audited consolidated financial statements at that date but does not include all of the information and footnotes required by U.S. GAAP for complete financial statements.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the opinion of management, the accompanying condensed consolidated financial statements contain all normal and recurring adjustments necessary to present fairly our Condensed Consolidated Balance Sheets as of March&#160;31, 2023 and December&#160;31, 2022, Condensed Consolidated Statements of Operations for the three months ended March&#160;31, 2023 and 2022, Condensed Consolidated Statements of Changes in Stockholders&#8217; Equity for the three months ended March&#160;31, 2023 and 2022, and Condensed Consolidated Statements of Cash Flows for the three months ended March&#160;31, 2023 and 2022.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Going Concern and Nasdaq Continued Listing Requirements Compliance</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due to our financial performance as of March&#160;31, 2023 and December&#160;31, 2022, including net losses of $1.3 million  for the three months ended March 31, 2023 and $10.3 million for the twelve months ended December 31, 2022, and total cash used in operating activities of  $1.2 million for the three months ended March 31, 2023 and $6.7 million for the twelve months ended December 31, 2022, we determined that substantial doubt about our ability to continue as a going concern continues to exist at March&#160;31, 2023. As a result of restructuring actions and initiatives, we have tailored our operating expenses to be more in line with our expected sales volumes; however, we continue to incur losses and have a substantial accumulated deficit.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, global supply chain and logistics constraints are impacting our inventory purchasing strategy, as we seek to manage both shortages of available components and longer lead times in obtaining components while balancing the development and implementation of an inventory reduction plan. Disruptions in global logistics networks are also impacting our lead times and ability to efficiently and cost-effectively transport products from our third-party suppliers to our facility. As a result, we will continue to review and pursue selected external funding sources to ensure adequate financial resources to execute across the timelines required to achieve these objectives including, but not limited to, the following:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining financing from traditional or non-traditional investment capital organizations or individuals; </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining funding from the sale of our common stock or other equity or debt instruments; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining debt financing with lending terms that more closely match our business model and capital needs.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There can be no assurance that we will obtain funding on acceptable terms, in a timely fashion, or at all. Obtaining additional funding contains risks, including:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">additional equity financing may not be available to us on satisfactory terms, particularly in light of the current price of our common stock, and any equity we are able to issue could lead to dilution for current stockholders and have rights, preferences and privileges senior to our common stock;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">loans or other debt instruments may have terms or conditions, such as interest rate, restrictive covenants, conversion features, refinancing demands, and control or revocation provisions, which are not acceptable to management or the Company&#8217;s Board of Directors (the &#8220;Board of Directors&#8221;); and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the current environment in the capital markets and volatile interest rates, combined with our capital constraints, may prevent us from being able to obtain adequate debt financing.</span></div><div style="margin-bottom:10pt;padding-left:2.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Along with the new additions to the Board of Directors, we hired a permanent Chief Executive Officer in September 2022, following a period of interim leadership by our current Lead Independent Director after the departure of our previous Chief Executive Officer in February 2022 and Chief Financial Officer and Chief Operating Officer in May 2022.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Considering both quantitative and qualitative information, we continue to believe that the combination of our plans to ensure adequate external funding, timely re-organizational actions, current financial position, liquid resources, obligations due or anticipated within the next year, development and implementation of an excess inventory reduction plan, plans and initiatives in our research and development, product development and sales and marketing, and development of potential channel partnerships, if adequately executed, could provide us with an ability to finance our operations through the next twelve months and may mitigate the substantial doubt about our ability to continue as a going concern.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our Common Stock is listed on the Nasdaq Capital Market, which has as one of its continued listing requirements a minimum bid price of at least $1.00 per share. Recently our Common Stock has traded significantly below $1.00 per share. On August 23, 2022, we received a letter from the Listing Qualifications Staff (the &#8220;Staff&#8221;) of The Nasdaq Stock Market notifying us that we were no longer in compliance with the requirement to maintain a minimum closing bid price of $1.00 per share, as set forth in Nasdaq Listing Rule 5550(a)(2) (the &#8220;Bid Price Rule&#8221;), because the closing bid price for our common stock was below the minimum $1.00 per share for 30 consecutive business days. In accordance with Nasdaq Listing Rule 5810(c)(3)(A), we were provided an initial period of 180 calendar days, or until February 20, 2023, to regain compliance with the Bid Price Rule. During the initial compliance period, our Common Stock continued to trade on the Nasdaq Capital Market, but did not satisfy the Bid Price Rule.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November 16, 2022, we received a letter from the Staff notifying us that we were no longer in compliance with Nasdaq Listing Rule 5550(b)(1), which requires listed companies to maintain stockholders&#8217; equity of at least $2.5 million if they do not meet the alternative compliance standards relating to the market value of listed securities or net income from continuing operations (the &#8220;Minimum Stockholders&#8217; Equity Rule&#8221;). Our Form 10-Q for the Quarterly Period Ended September 30, </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2022 filed on November 10, 2022 reflected that our stockholders&#8217; equity as of September 30, 2022 was $1.5 million. Based on our timely submission of our plan to regain compliance (the &#8220;Plan&#8221;), Nasdaq granted us an extension through May 15, 2023 to regain compliance with the Minimum Stockholders&#8217; Equity Rule.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 21, 2023, we received written notification (the &#8220;Bid Price Notification&#8221;) from the Staff stating that we had not regained compliance with the Bid Price Rule and our common stock is subject to delisting from Nasdaq. On February 24, 2023, we submitted a request for a hearing before the Nasdaq Hearings Panel (the &#8220;Panel&#8221;) to appeal the delisting (the &#8220;Appeal&#8221;).  Under Nasdaq rules, the delisting of the Company&#8217;s common stock was stayed during the pendency of the Appeal and, during such time, the Company&#8217;s common stock continued to be listed on Nasdaq.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 28, 2023, the Company received written notification (the &#8220;Additional Staff Determination&#8221;) from the Staff stating that (i) following the Bid Price Notification, and in accordance with Listing Rule 5810(c)(2)(A), Nasdaq is no longer permitted to consider the stockholders&#8217; equity compliance plan, (ii) the Additional Staff Determination serves as an additional basis for delisting the Company&#8217;s common stock from Nasdaq and (iii) the Panel will consider the Additional Staff Determination in rendering a determination regarding the continued listing of the Company&#8217;s common stock on Nasdaq.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April 6, 2023, the Company participated in the Appeal before the Panel. The Company provided an update to the Panel on the Company&#8217;s substantial progress made towards the previously submitted Stockholders&#8217; Equity Requirement Plan during the three months ended March 31, 2023, and requested the Panel grant the Company an exception to (1) re-allow the previously granted exception until May 15, 2023 for the Company to regain compliance with the Stockholders&#8217; Equity Requirement and (2) grant an exception allowing the Company up to 180 days following the Bid Price Notification to regain compliance with the Bid Price Requirement by effecting a reverse stock split following stockholder approval at the Annual Meeting. On May 1, 2023, the Panel granted the Company&#8217;s request to continue the Company&#8217;s listing on Nasdaq, subject to the following conditions: (1) on or before May 15, 2023, the Company shall file with the SEC its quarterly report for the three months ended March 31, 2023 demonstrating compliance with the Stockholders&#8217; Equity Requirement and (2) on or before July 7, 2023, the Company shall demonstrate compliance with the Bid Price Rule. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of the date of this Quarterly Report, the Company believes it has regained compliance with the Stockholders&#8217; Equity Requirement for continued listing on the Nasdaq Capital Market. However, there can be no assurance that the Appeal will be successful or that the Company will be able to regain compliance with the Bid Price Rule or maintain compliance with the Stockholders&#8217; Equity Requirement, Bid Price Rule, or other Nasdaq listing requirements. If the Company fails to regain compliance with Nasdaq&#8217;s continued listing standards in accordance with the Panel&#8217;s decision, the Company&#8217;s common stock will be subject to delisting from Nasdaq.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of estimates</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Use of estimates</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in accordance with U.S. GAAP requires management to make estimates and assumptions that affect the amounts reported in our financial statements and accompanying notes. Management bases its estimates on historical experience and various other assumptions believed to be reasonable. Although these estimates are based on management&#8217;s best knowledge of current events and actions that may impact us in the future, actual results may vary from the estimates. Estimates include, but are not limited to, the establishment of reserves for accounts receivable, sales returns, inventory obsolescence and warranty claims; the useful lives of property and equipment; valuation allowance for net deferred taxes; and stock-based compensation. The Company began using estimates for its calculation of impairment to accounts receivable under Accounting Standards Codification (&#8220;ASC&#8221;) 326 commencing in 2023. In addition, estimates and assumptions associated with the determination of the fair value of financial instruments and evaluation of long-lived assets for impairment requires considerable judgment. Actual results could differ from those estimates and such differences could be material.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales include revenues from sales of products and shipping and handling charges, net of estimates for product returns. Revenue is measured at the amount of consideration we expect to receive in exchange for the transferred products. We recognize revenue at the point in time when we transfer the promised products to the customer and the customer obtains control over the products. Distributors&#8217; obligations to us are not contingent upon the resale of our products. We recognize revenue for shipping and handling charges at the time the goods are shipped to the customer, and the costs of outbound freight are included in cost of sales. We provide for product returns based on historical return rates. While we incur costs for </span></div>sales commissions to our sales employees and outside agents, we recognize commission costs concurrent with the related revenue, as the amortization period is less than one year. We do not incur any other incremental costs to obtain contracts with our customers. Our product warranties are assurance-type warranties, which promise the customer that the products are as specified in the contract. Therefore, the product warranties are not a separate performance obligation and are accounted for as described below. Sales taxes assessed by governmental authorities are accounted for on a net basis and are excluded from net sales.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Accounts Receivable</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accounts Receivable</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our trade accounts receivable consists of amounts billed to and currently due from customers. Our customers are concentrated in the United States. In the normal course of business, we extend unsecured credit to our customers related to the sale of our products. Credit is extended to customers based on an evaluation of the customer&#8217;s financial condition and the amounts due are stated at their estimated net realizable value. We maintain allowances for sales returns and doubtful accounts receivable to provide for the estimated number of account receivables that will not be collected. The allowance is based on an assessment of forward looking customer credit-worthiness and historical payment experience, the age of outstanding receivables, and performance guarantees to the extent applicable. Past due amounts are written off when our internal collection efforts have been unsuccessful, and payments subsequently received on such receivables are credited to the allowance for doubtful accounts. We do not generally require collateral from our customers.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our standard payment terms with customers are net 30 days from the date of shipment, and we do not generally offer extended payment terms to our customers, but exceptions are made in some cases for major customers or with particular orders. Accordingly, we do not adjust trade accounts receivable for the effects of financing, as we expect the period between the transfer of product to the customer and the receipt of payment from the customer to be in line with our standard payment terms.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Through November 2022, we utilized a third-party account receivable insurance program with a very high credit worthy insurance company where we had the large majority of the accounts receivable arising during the policy term insured with a portion of self-retention. This third party also provided credit-worthiness ratings and metrics that significantly assisted us in evaluating the credit-worthiness of both existing and new customers.  Although the insurance policy is no longer in place, all invoices issued under the previous coverage period are still covered under the policy. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 1, 2023, the Company adopted ASC 326, Measurement of Credit Losses on Financial Instruments (&#8220;CECL&#8221;). The standard adds to U.S. GAAP an impairment model known as the CECL model, which is based on expected losses rather than incurred losses. This standard only impacts the Company&#8217;s trade receivables. The Company decided to use the roll rate method of valuing its reserve for trade receivables. The reserve is based on a careful review of claims made during 2022 against unpaid invoices. This resulted in a $2.6&#160;thousand adjustment to Retained Earnings as of December 31, 2022 and a charge of $12&#160;thousand to bad debt expense in the first quarter of 2023.  </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to ASC 606, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revenue Recognition</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, contract assets and contract liabilities as of the beginning and ending of the reporting periods must be disclosed. Below is the breakout of the Company&#8217;s contract assets for such periods:</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Net loss per share</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net loss per share </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic loss per share is computed by dividing net loss available to common stockholders by the weighted average number of shares of common stock outstanding during the period, excluding the effects of any potentially dilutive securities. Diluted loss per share gives effect to all dilutive potential shares of common stock outstanding during the period. Dilutive potential shares of common stock consist of incremental shares upon the exercise of stock options, warrants and convertible securities, unless the effect would be anti-dilutive.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyPolicy', window );">Product warranties</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Product warranties</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We warrant our commercial and MMM LED products and controls for periods generally ranging from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAxNg_16e1c2b7-1b11-4993-a4ef-f853eb7486b6"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAxNg_5f339c5e-7af8-42cc-a026-46659e81cb9d">five</span></span> to ten years. Warranty settlement costs consist of actual amounts expensed for warranty, which are largely a result of the cost of replacement products or rework services provided to our customers. A liability for the estimated future costs under product warranties is maintained for products under warranty based on the actual claims incurred to date and the estimated nature, frequency, and costs of future claims. As warranty coverage from prior period sales expire, previous accruals are released.  These estimates are inherently uncertain and changes to our historical or projected experience may cause material changes to our warranty reserves in the future. We continuously review the assumptions related to the adequacy of our warranty reserve, including product failure rates, and make adjustments to the existing warranty liability when there are changes to these estimates or the underlying replacement product costs, or the warranty period expires.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Financial Instruments</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Instruments</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair Value Measurements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value hierarchy prioritizes the inputs to valuation techniques used to measure fair value, giving the highest priority to unadjusted quoted prices in active markets for identical assets or liabilities (Level 1 measurements) and the lowest priority to unobservable inputs (Level 3 measurements). The three levels of the fair value hierarchy are described below. We classify the inputs used to measure fair value into the following hierarchy:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:8.509%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:89.291%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unadjusted quoted prices in active markets for identical assets or liabilities.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 2</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unadjusted quoted prices in active markets for similar assets or liabilities, or unadjusted quoted prices for identical or similar assets or liabilities in markets that are not active, or inputs other than quoted prices that are observable for the asset or liability.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 3</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unobservable inputs for the asset or liability.</span></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying amounts of certain financial instruments including cash, accounts receivable, accounts payable, and accrued liabilities approximate fair value due to their short maturities. Based on borrowing rates currently available to us for loans with similar terms, the carrying value of borrowings under our revolving credit facilities also approximates fair value.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A financial instrument&#8217;s level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. In determining the appropriate levels, we perform a detailed analysis of the assets and liabilities whose fair value is measured on a recurring basis. We review and reassess the fair value hierarchy classifications on a quarterly basis. Changes from one quarter to the next related to the observability of inputs in a fair value measurement may result in a reclassification between fair value hierarchy levels. There were no reclassifications for all periods presented.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Certain risks and concentrations</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Certain risks and concentrations</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have certain customers whose net sales individually represented 10% or more of our total net sales, or whose net trade accounts receivable balance individually represented 10% or more of our total net trade accounts receivable; we have certain suppliers, which individually represent 10% or more of our total purchases, or whose trade accounts payable balance individually represented 10% or more of our total trade accounts payable balance, as follows:</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended March 31, 2023, sales to our primary distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a distributor to the U.S. Department of Defense, accounted for approximately 22%, 27%, and 11% of net sales, respectively. When sales for our top military customers are combined, total net sales of military products comprised approximately 49% of net sales for the same period. For the three months ended March 31, 2022, sales to our primary distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a commercial building systems provider, accounted for approximately 15%, 21%, and 19% of net sales, respectively. When sales to our primary distributor for the U.S. Navy are combined with sales to shipbuilders for the U.S. Navy, total net sales of products for the U.S. Navy comprised approximately 37% of net sales for the same period.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a distributor to the U.S. Department of Defense, accounted for approximately 32%, 22%, and 17% of net trade accounts receivable, respectively, at March&#160;31, 2023. At December&#160;31, 2022, a distributor to the U.S. Department of Defense accounted for 25% of our net trade accounts receivable, and when combined with our net trade accounts receivable to shipbuilders for the U.S. Navy, total net accounts receivable related to U.S. Navy sales is 30% of our net trade accounts receivable.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No one supplier accounted for more than 10% of our total expenditures for the three months ended March&#160;31, 2023. For the three months ended March 31, 2022, one offshore supplier accounted for approximately 19% of total expenditures.</span></div>At March&#160;31, 2023 and December&#160;31, 2022, one offshore supplier accounted for approximately 36% of our trade accounts payable balance.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent adopted accounting standard</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recent adopted accounting standard</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the Financial Accounting Standards Board issued Accounting Standard Update No. 2016-13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which significantly changes the accounting for credit losses on instruments within its scope. The new guidance introduces an approach based on expected losses to estimate credit losses on certain financial instruments, including trade receivables, and requires an entity to recognize an allowance based on its estimate of expected credit losses rather than incurred losses. For smaller reporting companies, this standard became effective for interim and annual periods starting after December 15, 2022, and has been adopted by the Company. The adoption of this guidance did not have a material impact on our consolidated financial position or results of operations.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=126941378&amp;loc=d3e61044-112788<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 60<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=7493716&amp;loc=d3e21868-110260<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13279-108611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130561-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130563-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI https://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130563-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=126899994&amp;loc=d3e18823-107790<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130564-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126920106&amp;loc=SL49130566-203045<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e4975-111524<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5212-111524<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953423-111524<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5093-111524<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5033-111524<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=84159169&amp;loc=d3e10133-111534<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205217825728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation and Summary of Significant Accounting Policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock', window );">Schedule of Breakdown of Product Net Sales</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides a disaggregation of product net sales for the periods presented (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.614%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.169%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net sales:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">321&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,134&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MMM products</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">609&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">927&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total net sales</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">930&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,061&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">Schedule of Accounts Receivable, Allowance for Credit Loss</a></td>
<td class="text">Below is the breakout of the Company&#8217;s contract assets for such periods:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:45.896%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.400%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.400%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.170%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross Accounts Receivable</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">967&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">471&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,337&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: Allowance for Doubtful Accounts</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(58)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net Accounts Receivable</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">909&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">445&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,330&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Reconciliation of Basic and Diluted Income (Loss) Per Share</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a reconciliation of basic and diluted loss per share computations (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.314%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.851%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.168%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,333)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,821)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic and diluted weighted average shares of common stock outstanding </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,172&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,437&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Schedule of Warranty Activity</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes warranty activity for the periods presented (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.614%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.169%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at beginning of period</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">183&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">295&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Warranty accruals for current period sales</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustments to existing warranties</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(39)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">In kind settlements made during the period</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accrued warranty reserve at end of period</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">265&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205221315552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventory</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are stated at the lower of standard cost (which approximates actual cost determined using the first-in, first-out cost method) or net realizable value, and consist of the following (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.614%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.169%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,936&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,347&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,509&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,656&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reserves for excess, obsolete, and slow-moving inventories </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,507)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,527)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Inventories, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,938&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,476&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a roll-forward of the reserves for excess, obsolete, and slow-moving inventories (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.764%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.400%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.169%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,527)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,050)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrual</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(56)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(145)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reduction due to sold inventory</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Reserves for excess, obsolete, and slow-moving inventories</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,507)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,179)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205225529376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Schedule of Property and Equipment</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost and depreciated using the straight-line method over the estimated useful lives of the related assets and consist of the following (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.614%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.169%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Equipment (useful life 3 to 15 years)</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,061&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,061&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tooling (useful life 2 to 5 years)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">190&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">190&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements (the shorter of useful life or lease life)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">141&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">141&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Property and equipment at cost</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,392&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,392&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,324)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,316)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Property and equipment, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">68&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205220995520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Components of Lease Cost and Supplemental Cash Flow Information</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of the operating lease costs recognized in net loss were as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.314%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.851%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.168%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended March 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating lease cost (income)</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sub-lease income</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(25)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease cost</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost, net</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">107&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock', window );">Schedule of Supplemental Balance Sheet Information</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental balance sheet information related to the Company&#8217;s operating leases as of March&#160;31, 2023 and December&#160;31, 2022 are as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.314%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.851%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.168%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,111&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,180&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:9pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,180&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,227&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:9pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Finance Leases</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Allowances for depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease assets, net</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of Future Maturities of Operating Lease Liabilities</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments required under operating leases for each of the 12-month rolling periods below in effect at March&#160;31, 2023 are as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:81.632%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:16.168%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2023 to March 2024</span></td><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">385&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2024 to March 2025</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">379&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2025 to March 2026</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">387&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2026 to March 2027</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">391&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2027 to March 2028</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future undiscounted lease payments</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,641&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less imputed interest</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(461)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease obligations</span></td><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,180&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock', window );">Supplemental Cash Flow Information Related to Leases</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to leases for the three months ended March&#160;31, 2023 and 2022, was as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.764%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.400%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.169%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended March 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Supplemental cash flow information</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid, net, for amounts included in the measurement of lease liabilities:</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating cash flows from operating leases</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">95&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financing cash flows from finance leases</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lease, Supplemental Balance Sheet Information [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Supplemental Cash Flow Information Related to Leases</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;">efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205221404048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock', window );">Schedule of Promissory Notes</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes the 2022 Promissory Notes at December&#160;31, 2022:</span></div><div style="margin-bottom:10pt;text-indent:-36pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:15.082%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.353%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.858%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.353%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.858%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.491%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.996%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.491%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.996%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.491%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.996%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.491%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.720%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.491%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.720%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.313%"/><td style="width:0.1%"/></tr><tr><td colspan="45" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">G. Huang</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">J. Huang</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">J. Huang</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">G. Huang</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">J. Huang</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">J. Huang</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">T. Lin </span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date entered</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 16, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">October 25, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">November 4, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">November 9, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 6, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 21, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Term</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9 months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9 months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9 months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9 months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9 months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9 months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9 months</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Principal amount</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$450,000</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$50,000</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$250,000</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$350,000</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$200,000</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$100,000</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$50,000</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$1,450,000</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Maturity date</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">June 16, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">July 25, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 4, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">August 9, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 6, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 21, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 30, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Default interest rate</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding Amount</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$460,455</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$50,734</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$253,123</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$353,989</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$201,096</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$100,219</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$50,011</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$1,469,627</span></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24072-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28541-108399<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21506-112644<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69E<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495743-112612<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21521-112644<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21538-112644<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=123599511&amp;loc=d3e64711-112823<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtInstrumentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205220915072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock', window );">Schedule of Stockholders' Equity Note, Warrants or Rights</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March&#160;31, 2023 and 2022, we had the following outstanding January 2020 Warrants:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:31.482%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.116%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.400%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.266%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.266%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.270%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">As of March&#160;31, 2023</span></div></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">As of March&#160;31, 2022</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Number of Underlying Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Exercise Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Expiration</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jan. 2020 Investor Warrants</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">187,734</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">187,734</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$3.3700</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">January 13, 2025</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jan. 2020 Placement Agent Warrants</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,680</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,680</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$4.9940</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">January 13, 2025</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">229,414</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">229,414</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Summary of Stock-based Compensation Expense</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock-based compensation expense and the impact it had on operations for the periods presented (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:63.614%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:16.167%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.169%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product development</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total stock-based compensation</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Schedule of Valuation Assumptions</a></td>
<td class="text">Estimates utilized in the calculation include the expected life of the option, risk-free interest rate, and expected volatility, and are further detailed below. Note that there were no grants made during the three months ended March 31, 2023. <table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:64.966%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.566%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.400%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.568%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended<br/>March 31,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of options issued</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.17&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercise price</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.48&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected life of options (in years)</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.1</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividend yield</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">NA</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Summary of Option Activity</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of option activity under all outstanding stock incentive plans for the three months ended March 31, 2023 is presented as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:47.398%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.566%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.566%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.570%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Number of<br/>Options</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Exercise<br/>Price Per<br/>Share</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">330,808&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.97&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Canceled/forfeited</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(65,903)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.88&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at March 31, 2023</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">264,905&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.75&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.0</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Vested and expected to vest at March 31, 2023</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">218,307&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.87&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.8</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exercisable at March 31, 2023</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66,734&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.10&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.6</span></td></tr><tr><td colspan="3" style="display:none"/></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock', window );">Summary of Restricted Stock Activity</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of restricted stock unit activity under all outstanding stock incentive plans for the three months ended March 31, 2023 is presented as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:47.398%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.566%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.566%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.550%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.570%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Restricted<br/>Stock Units</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Grant<br/>Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,600&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.59&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at March 31, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,600&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.59&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.4</span></td></tr><tr><td colspan="3" style="display:none"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of warrants or rights issued. Warrants and rights outstanding are derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months. Disclose the title of issue of securities called for by warrants and rights outstanding, the aggregate amount of securities called for by warrants and rights outstanding, the date from which the warrants or rights are exercisable, and the price at which the warrant or right is exercisable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 50<br> -Section S99<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6784392&amp;loc=d3e188667-122775<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205217857904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation and Summary of Significant Accounting Policies - Basis of presentation (Details)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Mar. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Nov. 16, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Aug. 23, 2022 </div>
<div>d </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss | $</a></td>
<td class="num">$ (1,333)<span></span>
</td>
<td class="num">$ (2,821)<span></span>
</td>
<td class="num">$ (10,300)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Cash used in operating activities | $</a></td>
<td class="num">$ (1,183)<span></span>
</td>
<td class="num">(2,703)<span></span>
</td>
<td class="num">(6,700)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_CommonStockMinimumBidPrice', window );">Common stock, minimum bid price (USD per share) | $ / shares</a></td>
<td class="nump">$ 1.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_CommonStockTradePricePerShare', window );">Common stock, trade price (USD per share) | $ / shares</a></td>
<td class="nump">$ 1.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_CommonStockClosingBidPriceThreshold', window );">Common stock, closing bid price (USD per share) | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold', window );">Number of consecutive days for bid | d</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' equity | $</a></td>
<td class="nump">$ 2,955<span></span>
</td>
<td class="nump">$ 3,432<span></span>
</td>
<td class="num">$ (477)<span></span>
</td>
<td class="nump">$ 2,500<span></span>
</td>
<td class="nump">$ 1,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,209<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_CommonStockClosingBidPriceThreshold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Common Stock, Closing Bid Price Threshold</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;">efoi_CommonStockClosingBidPriceThreshold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_CommonStockMinimumBidPrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Common Stock, Minimum Bid Price</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;">efoi_CommonStockMinimumBidPrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_CommonStockTradePricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Common stock, Trade Price Per Share</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;">efoi_CommonStockTradePricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number Of Consecutive Days For Bid Price, Below Threshold</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;">efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI https://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205219798864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation and Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Total net sales</a></td>
<td class="nump">$ 930<span></span>
</td>
<td class="nump">$ 2,061<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=efoi_CommercialProductsMember', window );">Commercial</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Total net sales</a></td>
<td class="nump">321<span></span>
</td>
<td class="nump">1,134<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=efoi_MMMProductsMember', window );">MMM products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenue from External Customer [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Total net sales</a></td>
<td class="nump">$ 609<span></span>
</td>
<td class="nump">$ 927<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9038-108599<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=efoi_CommercialProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=efoi_CommercialProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=efoi_MMMProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=efoi_MMMProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205219787536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation and Summary of Significant Accounting Policies - Accounts Receivable and Geographic information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_ContractWithCustomerPaymentTerms', window );">Contract with customer, payment terms</a></td>
<td class="text">30 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="num">$ (150,355,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (149,020,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Accounts receivable, allowance for credit loss</a></td>
<td class="nump">$ 12,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=us-gaap_NonUsMember', window );">Countries Outside of the United States | Revenue | Geographic Concentration Risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk (less than for geographic concentration risk)</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">2.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_CumulativeEffectPeriodOfAdoptionAxis=srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember', window );">Cumulative Effect, Period of Adoption, Adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,600<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ContractWithCustomerPaymentTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contract With Customer, Payment Terms</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;">efoi_ContractWithCustomerPaymentTerms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=us-gaap_NonUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=us-gaap_NonUsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CumulativeEffectPeriodOfAdoptionAxis=srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CumulativeEffectPeriodOfAdoptionAxis=srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205217859520">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Basis of Presentation and Summary of Significant Accounting Policies - Net Accounts Receivable (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGrossCurrent', window );">Gross Accounts Receivable</a></td>
<td class="nump">$ 967<span></span>
</td>
<td class="nump">$ 471<span></span>
</td>
<td class="nump">$ 1,337<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Less: Allowance for Doubtful Accounts</a></td>
<td class="num">(58)<span></span>
</td>
<td class="num">(26)<span></span>
</td>
<td class="num">(7)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Net Accounts Receivable</a></td>
<td class="nump">$ 909<span></span>
</td>
<td class="nump">$ 445<span></span>
</td>
<td class="nump">$ 1,330<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205218870736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation and Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Loss per Share (Details) - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Numerator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (1,333)<span></span>
</td>
<td class="num">$ (2,821)<span></span>
</td>
<td class="num">$ (10,300)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_EarningsPerShareBasicAndDilutedEPSAbstract', window );"><strong>Denominator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">16,172<span></span>
</td>
<td class="nump">6,437<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">16,172<span></span>
</td>
<td class="nump">6,437<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_EarningsPerShareBasicAndDilutedEPSAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Earnings Per Share, Basic and Diluted EPS</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;">efoi_EarningsPerShareBasicAndDilutedEPSAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=126732423&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI https://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI https://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126968391&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=126958026&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205217860240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation and Summary of Significant Accounting Policies - Net Loss per Share (Details) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_ConvertiblePreferredStockMember', window );">Series A Convertible Preferred Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems', window );"><strong>Impairment Effects on Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Securities excluded from net loss per share calculation (in shares)</a></td>
<td class="nump">175<span></span>
</td>
<td class="nump">175<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_WarrantMember', window );">Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems', window );"><strong>Impairment Effects on Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Securities excluded from net loss per share calculation (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_ConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_ConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_WarrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_WarrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205219712176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation and Summary of Significant Accounting Policies - Product Warranties (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2023</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=efoi_CommercialProductsMember', window );">Commercial | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Product Warranty Liability [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_StandardProductWarrantyNumberofYears', window );">Standard product warranty, number of years</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=efoi_CommercialProductsMember', window );">Commercial | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Product Warranty Liability [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_StandardProductWarrantyNumberofYears', window );">Standard product warranty, number of years</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=efoi_MMMLEDProductsMember', window );">MMM LED Products | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Product Warranty Liability [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_StandardProductWarrantyNumberofYears', window );">Standard product warranty, number of years</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=efoi_MMMLEDProductsMember', window );">MMM LED Products | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Product Warranty Liability [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_StandardProductWarrantyNumberofYears', window );">Standard product warranty, number of years</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_StandardProductWarrantyNumberofYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Standard Product Warranty, Number of Years</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;">efoi_StandardProductWarrantyNumberofYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyLiabilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyLiabilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=efoi_CommercialProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=efoi_CommercialProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=efoi_MMMLEDProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=efoi_MMMLEDProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205216434320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation and Summary of Significant Accounting Policies - Warranty Activity (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward', window );"><strong>Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualCurrent', window );">Balance at beginning of period</a></td>
<td class="nump">$ 183<span></span>
</td>
<td class="nump">$ 295<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued', window );">Warranty accruals for current period sales</a></td>
<td class="num">(1)<span></span>
</td>
<td class="num">(1)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease', window );">Adjustments to existing warranties</a></td>
<td class="num">(39)<span></span>
</td>
<td class="num">(15)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualPayments', window );">In kind settlements made during the period</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(14)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualCurrent', window );">Accrued warranty reserve at end of period</a></td>
<td class="nump">$ 143<span></span>
</td>
<td class="nump">$ 265<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid within one year or the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(2))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the standard product warranty accrual from warranties issued. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(3))<br> -URI https://asc.fasb.org/extlink&amp;oid=126907703&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualWarrantiesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205216690112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation and Summary of Significant Accounting Policies - Certain Risks and Concentrations (Details)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=efoi_TotalExpendituresMember', window );">Total Expenditures | Supplier Concentration Risk | Offshore Supplier</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk (less than for geographic concentration risk)</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">19.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsPayableMember', window );">Accounts Payable | Supplier Concentration Risk | Offshore Supplier</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk (less than for geographic concentration risk)</a></td>
<td class="nump">36.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">36.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=efoi_DistributorToTheU.S.NavyMember', window );">Distributor to the U.S. Navy | Revenue | Customer Concentration Risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk (less than for geographic concentration risk)</a></td>
<td class="nump">22.00%<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=efoi_DistributorToTheU.S.NavyMember', window );">Distributor to the U.S. Navy | Accounts Receivable | Customer Concentration Risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk (less than for geographic concentration risk)</a></td>
<td class="nump">32.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=efoi_ShipbuilderForUSNavyMember', window );">Shipbuilder for U.S. Navy | Revenue | Customer Concentration Risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk (less than for geographic concentration risk)</a></td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=efoi_ShipbuilderForUSNavyMember', window );">Shipbuilder for U.S. Navy | Accounts Receivable | Customer Concentration Risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk (less than for geographic concentration risk)</a></td>
<td class="nump">22.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=efoi_DistributorToTheUSDepartmentOfDefenseMember', window );">Distributor to the U.S. Department of Defense | Revenue | Customer Concentration Risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk (less than for geographic concentration risk)</a></td>
<td class="nump">11.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=efoi_DistributorToTheUSDepartmentOfDefenseMember', window );">Distributor to the U.S. Department of Defense | Accounts Receivable | Customer Concentration Risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk (less than for geographic concentration risk)</a></td>
<td class="nump">17.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=efoi_TopMilitaryCustomersMember', window );">Top Military Customers | Revenue | Customer Concentration Risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk (less than for geographic concentration risk)</a></td>
<td class="nump">49.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=efoi_CommercialBuildingSystemsProviderMember', window );">Commercial Building Systems Provider | Revenue | Customer Concentration Risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk (less than for geographic concentration risk)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember', window );">Distributor to the U.S. Navy Combined with Sales to Shipbuilders | Revenue | Customer Concentration Risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk (less than for geographic concentration risk)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI https://asc.fasb.org/extlink&amp;oid=126901519&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI https://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=efoi_TotalExpendituresMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=efoi_TotalExpendituresMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_SupplierConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_SupplierConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=efoi_OffshoreSupplierMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=efoi_OffshoreSupplierMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsPayableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsPayableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=efoi_DistributorToTheU.S.NavyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=efoi_DistributorToTheU.S.NavyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=efoi_ShipbuilderForUSNavyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=efoi_ShipbuilderForUSNavyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=efoi_DistributorToTheUSDepartmentOfDefenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=efoi_DistributorToTheUSDepartmentOfDefenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=efoi_TopMilitaryCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=efoi_TopMilitaryCustomersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=efoi_CommercialBuildingSystemsProviderMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=efoi_CommercialBuildingSystemsProviderMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205217533392">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories - Schedule of Inventory (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterials', window );">Raw materials</a></td>
<td class="nump">$ 2,936<span></span>
</td>
<td class="nump">$ 3,347<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Finished goods</a></td>
<td class="nump">4,509<span></span>
</td>
<td class="nump">4,656<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryValuationReserves', window );">Reserves for excess, obsolete, and slow-moving inventories</a></td>
<td class="num">(2,507)<span></span>
</td>
<td class="num">(2,527)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">$ 4,938<span></span>
</td>
<td class="nump">$ 5,476<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryValuationReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation reserve for inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -URI https://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryValuationReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205217840640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories - Reserve Rollforward (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_InventoryReserveRollForward', window );"><strong>Inventory, Reserve [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_InventoryValuationReservesRawMaterials', window );">Beginning balance</a></td>
<td class="num">$ (2,527)<span></span>
</td>
<td class="num">$ (3,050)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_InventoryValuationReservesProvisionAccrual', window );">Accrual</a></td>
<td class="num">(56)<span></span>
</td>
<td class="num">(145)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_InventoryValuationReservesSalesOfInventory', window );">Reduction due to sold inventory</a></td>
<td class="nump">76<span></span>
</td>
<td class="nump">16<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_InventoryValuationReservesRawMaterials', window );">Reserves for excess, obsolete, and slow-moving inventories</a></td>
<td class="num">$ (2,507)<span></span>
</td>
<td class="num">$ (3,179)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_InventoryReserveRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Inventory, Reserve</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;">efoi_InventoryReserveRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</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_efoi_InventoryValuationReservesProvisionAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Inventory Valuation Reserves, Provision (Accrual)</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;">efoi_InventoryValuationReservesProvisionAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_InventoryValuationReservesRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Inventory Valuation Reserves, Raw Materials</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;">efoi_InventoryValuationReservesRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_InventoryValuationReservesSalesOfInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Inventory Valuation Reserves, Sales Of Inventory</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;">efoi_InventoryValuationReservesSalesOfInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205217467616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment - Schedule of Property and Equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment at cost</a></td>
<td class="nump">$ 1,392<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,392<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization', window );">Less: accumulated depreciation</a></td>
<td class="num">(1,324)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,316)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization', window );">Property and equipment, net</a></td>
<td class="nump">68<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">76<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">8<span></span>
</td>
<td class="nump">$ 44<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment at cost</a></td>
<td class="nump">$ 1,061<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,061<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=efoi_ToolingMember', window );">Tooling</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment at cost</a></td>
<td class="nump">$ 190<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">190<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=efoi_ToolingMember', window );">Tooling | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=efoi_ToolingMember', window );">Tooling | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold improvements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment at cost</a></td>
<td class="nump">$ 141<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 141<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation and amortization from plant, property, and equipment and right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918638-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=efoi_ToolingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=efoi_ToolingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205219555520">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Narrative (Details)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasedAssetsLineItems', window );"><strong>Operating Leased Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseDiscountRate', window );">Operating lease, discount rate</a></td>
<td class="nump">7.25%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Operating lease, weighted average remaining lease term</a></td>
<td class="text">4 years 2 months 12 days<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_RealEstateMember', window );">Real Estate</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasedAssetsLineItems', window );"><strong>Operating Leased Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_LesseeOperatingLeaseInterestRateEffectiveRate', window );">Operating lease, borrowing rate</a></td>
<td class="nump">16.96%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LesseeOperatingLeaseInterestRateEffectiveRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Lessee, Operating Lease, Interest Rate, Effective Rate</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;">efoi_LesseeOperatingLeaseInterestRateEffectiveRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseDiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Discount rate used by lessee to determine present value of operating lease payments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseDiscountRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_RealEstateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_RealEstateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205219559520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Components of Lease Cost (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubleaseIncome', window );">Sub-lease income</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (25)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Lease cost</a></td>
<td class="nump">117<span></span>
</td>
<td class="nump">132<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_OperatingLeaseCostNetOfSubleaseIncome', window );">Operating lease cost, net</a></td>
<td class="nump">$ 117<span></span>
</td>
<td class="nump">$ 107<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_OperatingLeaseCostNetOfSubleaseIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Operating Lease, Cost, Net Of Sublease Income</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;">efoi_OperatingLeaseCostNetOfSubleaseIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubleaseIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of sublease income excluding finance and operating lease expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI https://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubleaseIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205217830144">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of Supplemental Balance Sheet Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="nump">$ 1,111<span></span>
</td>
<td class="nump">$ 1,180<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="nump">1,180<span></span>
</td>
<td class="nump">1,227<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract', window );"><strong>Finance Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_FinanceLeaseRightOfUseAssetGross', window );">Property and equipment</a></td>
<td class="nump">13<span></span>
</td>
<td class="nump">13<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation', window );">Allowances for depreciation</a></td>
<td class="num">(13)<span></span>
</td>
<td class="num">(13)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAsset', window );">Finance lease assets, net</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Finance Lease, Assets And Liabilities, Lessee</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;">efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</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_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Finance Lease, Right-Of-Use Asset, Accumulated Depreciation</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;">efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_FinanceLeaseRightOfUseAssetGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Finance Lease, Right-Of-Use Asset, Gross</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;">efoi_FinanceLeaseRightOfUseAssetGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Operating Lease, Assets And Liabilities, Lessee</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;">efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205220757968">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of Future Maturities of Lease Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths', window );">April 2023 to March 2024</a></td>
<td class="nump">$ 385<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo', window );">April 2024 to March 2025</a></td>
<td class="nump">379<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree', window );">April 2025 to March 2026</a></td>
<td class="nump">387<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour', window );">April 2026 to March 2027</a></td>
<td class="nump">391<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive', window );">April 2027 to March 2028</a></td>
<td class="nump">99<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future undiscounted lease payments</a></td>
<td class="nump">1,641<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less imputed interest</a></td>
<td class="num">(461)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="nump">$ 1,180<span></span>
</td>
<td class="nump">$ 1,227<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fifth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fourth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in third rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in second rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in next rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205217906688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Schedule of Supplemental Cash Flow Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating cash flows from operating leases</a></td>
<td class="nump">$ 95<span></span>
</td>
<td class="nump">$ 136<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeasePrincipalPayments', window );">Financing cash flows from finance leases</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for principal payment on finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128292326&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205216424496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt - Credit Facilities (Details)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Feb. 15, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 20, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 18, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Feb. 15, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 17, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Apr. 20, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Aug. 11, 2020 </div>
<div>USD ($) </div>
<div>creditFacility</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_DebtInstrumentNumberOfCreditFacilities', window );">Number of debt financing facilities | creditFacility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Credit line borrowings, net of loan origination fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 388,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,447,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_SecondAmendmentToInventoryFacilityMember', window );">Second Amendment To Inventory Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity on line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfLongTermDebt', window );">Repayments of long-term debt</a></td>
<td class="nump">$ 250,000<span></span>
</td>
<td class="nump">$ 750,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_RepaymentOfRemainingLongTermDebt', window );">Remaining outstanding obligations amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 40,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_SecondAmendmentToInventoryFacilityMember', window );">Second Amendment To Inventory Facility | London Interbank Offered Rate (LIBOR)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateDuringPeriod', window );">Default interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.28%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_SecondAmendmentToInventoryFacilityMember', window );">Second Amendment To Inventory Facility | Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateDuringPeriod', window );">Default interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.176%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Debt instrument, interest rate, effective percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.44%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Inventory Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity on line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,500,000<span></span>
</td>
<td class="nump">$ 3,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent', window );">Inventory costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">75.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent', window );">Inventory, net orderly liquidation value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Credit line borrowings, net of loan origination fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnamortizedDebtIssuanceExpense', window );">Amortized net issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 29,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">47,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Receivables Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit Facility [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity on line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,500,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent', window );">Percent of accounts receivable used as borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">90.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Credit line borrowings, net of loan origination fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">67,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnamortizedDebtIssuanceExpense', window );">Amortized net issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 15,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentNumberOfCreditFacilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Number Of Credit Facilities</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;">efoi_DebtInstrumentNumberOfCreditFacilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line of Credit Facility, Borrowing Capacity, Inventory Costs, Percent</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;">efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line of Credit Facility, Borrowing Capacity, Inventory Value, Percent</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;">efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line of Credit Facility, Borrowing Capacity, Value Of Accounts Receivable, Percent</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;">efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_RepaymentOfRemainingLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Repayment Of Remaining Long Term Debt</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;">efoi_RepaymentOfRemainingLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average effective interest rate during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495355-112611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6036836-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429444&amp;loc=SL124452920-239629<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateEffectivePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LinesOfCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LinesOfCreditCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnamortizedDebtIssuanceExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnamortizedDebtIssuanceExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_SecondAmendmentToInventoryFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_SecondAmendmentToInventoryFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_InventoryFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_InventoryFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_ReceivablesFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_ReceivablesFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205217901216">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Debt - Promissory Note Narrative (Details)<br> $ in Millions</strong></div></th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAxis=efoi_A2022PromissoryNoteMember', window );">2022 Promissory Note | Director</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DueToRelatedPartiesCurrentAndNoncurrent', window );">Due to related parties</a></td>
<td class="nump">$ 1.5<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DueToRelatedPartiesCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of obligations due all related parties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.17)<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI https://asc.fasb.org/extlink&amp;oid=126975872&amp;loc=SL124442552-122756<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(3),(4))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueToRelatedPartiesCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=efoi_A2022PromissoryNoteMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=efoi_A2022PromissoryNoteMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_DirectorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_DirectorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205220807568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt - Promissory Notes (Details) - Twenty Twenty Two Promissory Note<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="nump">$ 1,450,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Outstanding Amount</a></td>
<td class="nump">$ 1,469,627<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_GHuangDirectorMember', window );">G. Huang | September 16 2022</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Term</a></td>
<td class="text">9 months<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="nump">$ 450,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">8.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateDuringPeriod', window );">Default interest rate</a></td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Outstanding Amount</a></td>
<td class="nump">$ 460,455<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_GHuangDirectorMember', window );">G. Huang | November 9, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Term</a></td>
<td class="text">9 months<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="nump">$ 350,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">8.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateDuringPeriod', window );">Default interest rate</a></td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Outstanding Amount</a></td>
<td class="nump">$ 353,989<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_JHuangDirectorMember', window );">J. Huang | October 25, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Term</a></td>
<td class="text">9 months<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="nump">$ 50,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">8.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateDuringPeriod', window );">Default interest rate</a></td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Outstanding Amount</a></td>
<td class="nump">$ 50,734<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_JHuangDirectorMember', window );">J. Huang | November 4, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Term</a></td>
<td class="text">9 months<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="nump">$ 250,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">8.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateDuringPeriod', window );">Default interest rate</a></td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Outstanding Amount</a></td>
<td class="nump">$ 253,123<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_JHuangDirectorMember', window );">J. Huang | December 6, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Term</a></td>
<td class="text">9 months<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="nump">$ 200,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">8.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateDuringPeriod', window );">Default interest rate</a></td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Outstanding Amount</a></td>
<td class="nump">$ 201,096<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_JHuangDirectorMember', window );">J. Huang | December 21, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Term</a></td>
<td class="text">9 months<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="nump">$ 100,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">8.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateDuringPeriod', window );">Default interest rate</a></td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Outstanding Amount</a></td>
<td class="nump">$ 100,219<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_TLinDirectorsMember', window );">T. Lin | December 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentTerm', window );">Term</a></td>
<td class="text">9 months<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="nump">$ 50,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">8.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateDuringPeriod', window );">Default interest rate</a></td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Outstanding Amount</a></td>
<td class="nump">$ 50,011<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429444&amp;loc=SL124452920-239629<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average effective interest rate during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495355-112611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transactions with related party during the financial reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39603-107864<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAmountsOfTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAxis=efoi_TwentyTwentyTwoPromissoryNoteMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAxis=efoi_TwentyTwentyTwoPromissoryNoteMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_GHuangDirectorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_GHuangDirectorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentEnteredPeriodAxis=efoi_DateEnteredOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentEnteredPeriodAxis=efoi_DateEnteredOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentEnteredPeriodAxis=efoi_DateEnteredFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentEnteredPeriodAxis=efoi_DateEnteredFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_JHuangDirectorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_JHuangDirectorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentEnteredPeriodAxis=efoi_DateEnteredTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentEnteredPeriodAxis=efoi_DateEnteredTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentEnteredPeriodAxis=efoi_DateEnteredThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentEnteredPeriodAxis=efoi_DateEnteredThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentEnteredPeriodAxis=efoi_DateEnteredFiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentEnteredPeriodAxis=efoi_DateEnteredFiveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentEnteredPeriodAxis=efoi_DateEnteredSixMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentEnteredPeriodAxis=efoi_DateEnteredSixMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_TLinDirectorsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_TLinDirectorsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentEnteredPeriodAxis=efoi_DateEnteredSevenMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentEnteredPeriodAxis=efoi_DateEnteredSevenMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205216493360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt - Streeterville Notes (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Apr. 21, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Apr. 27, 2021 </div>
<div>USD ($) </div>
<div>deferral</div>
</th>
<th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 01, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 01, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 14, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 20, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_A2022StreetervilleNoteMember', window );">2022 Streeterville Note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscount', window );">Issue discount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">215<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfDebt', window );">Purchase price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsGross', window );">Unamortized debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 15<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_DebtInstrumentTrancheAmount', window );">Debt instrument, tranche amount</a></td>
<td class="nump">$ 125<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 125<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange', window );">Percentage increase if delisted from Nasdaq</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_A2022StreetervilleNoteMember', window );">2022 Streeterville Note | Scenario, Forecast</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 117<span></span>
</td>
<td class="nump">$ 250<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_March2023PartitionedNoteMember', window );">March 2023 Partitioned Note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_DebtInstrumentTrancheAmount', window );">Debt instrument, tranche amount</a></td>
<td class="nump">$ 125<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 125<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Conversion of notes to stock (in shares) | shares</a></td>
<td class="nump">502,008<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_March2023PartitionedNoteMember', window );">March 2023 Partitioned Note | Scenario, Forecast</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 250<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_DebtInstrumentTrancheAmount', window );">Debt instrument, tranche amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 125<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_StreetervilleNotePurchaseAgreementMember', window );">Streeterville Note Purchase Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Total liability, net of discount and financing fees</a></td>
<td class="nump">$ 1,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_A2021StreetervilleNoteMember', window );">2021 Streeterville Note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscount', window );">Issue discount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">194<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 305<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfDebt', window );">Purchase price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsGross', window );">Unamortized debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 15<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount', window );">Maximum redemption amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 205<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals', window );">Right to defer mandatory redemption, number of deferrals | deferral</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption', window );">Percentage increase due to deferral of redemption option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WriteOffOfDeferredDebtIssuanceCost', window );">Write off of remaining issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Percentage Increase If Delisted From Security 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;">efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Right To Defer Mandatory Redemption, Number Of Deferrals</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;">efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument Subject To Mandatory Redemption, Maximum Amount</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;">efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentTrancheAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Tranche Amount</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;">efoi_DebtInstrumentTrancheAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Note Payable, Percentage Increase Due to Deferral of Redemption Option</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;">efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI https://asc.fasb.org/extlink&amp;oid=124429444&amp;loc=SL124452920-239629<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI https://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentUnamortizedDiscount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28541-108399<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentUnamortizedDiscount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WriteOffOfDeferredDebtIssuanceCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Write-off of amounts previously capitalized as debt issuance cost in an extinguishment of debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.8)<br> -URI https://asc.fasb.org/extlink&amp;oid=126953954&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WriteOffOfDeferredDebtIssuanceCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_A2022StreetervilleNoteMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_A2022StreetervilleNoteMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=srt_ScenarioForecastMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_March2023PartitionedNoteMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_March2023PartitionedNoteMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_StreetervilleNotePurchaseAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_StreetervilleNotePurchaseAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_A2021StreetervilleNoteMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_A2021StreetervilleNoteMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205216731344">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income Taxes (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carry-forwards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9.2<span></span>
</td>
<td class="nump">$ 9.6<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration', window );">Operating loss, subject to expiration</a></td>
<td class="nump">$ 37.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">U.S. Federal, State and Local Tax Authorities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Deferred tax assets, operating loss carry-forwards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">132.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations', window );">Deferred tax assets, operating loss carryforwards, portion available after application of IRC Section 382 limitations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">71.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State and Local Jurisdiction</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Deferred tax assets, operating loss carry-forwards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 77.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred Tax Assets, Operating Loss Carryforwards, Portion Available After Application Of IRC Section 382 Limitations</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;">efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are subject to expiration dates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwardsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwardsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205220788208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - March 2023 Private Placements (Details) - March 2023 Private Placement - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 30, 2023</div></th>
<th class="th"><div>Mar. 28, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Sale of common stock (in shares)</a></td>
<td class="nump">500,000<span></span>
</td>
<td class="nump">108,502<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock (USD per share)</a></td>
<td class="nump">$ 0.5000<span></span>
</td>
<td class="nump">$ 0.5609<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfPrivatePlacement', window );">Aggregate gross proceeds amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 305<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfPrivatePlacement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from entity's raising of capital via private rather than public placement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfPrivatePlacement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_March2023PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_March2023PrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205224606416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Stockholders' Equity - February 2023 Private Placement (Details) - February 2023 Private Placement<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th">
<div>Feb. 24, 2023 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Sale of common stock (in shares) | shares</a></td>
<td class="nump">803,212<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock (USD per share) | $ / shares</a></td>
<td class="nump">$ 0.4980<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfPrivatePlacement', window );">Proceeds from issuance of private placement | $</a></td>
<td class="nump">$ 400<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfPrivatePlacement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from entity's raising of capital via private rather than public placement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfPrivatePlacement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_February2023PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_February2023PrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205218932976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - January 2023 Sander Electronics Private Placement (Details) - January 2023 Sander Electronics Private Placement - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 17, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Sale of common stock (in shares)</a></td>
<td class="nump">5,446,252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock (USD per share)</a></td>
<td class="nump">$ 0.5008<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfPrivatePlacement', window );">Aggregate gross proceeds amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,100<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2023SanderElectronicsPrivatePlacementMember', window );">Bridge Loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short-term debt</a></td>
<td class="nump">$ 657<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfPrivatePlacement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from entity's raising of capital via private rather than public placement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfPrivatePlacement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI https://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI https://asc.fasb.org/extlink&amp;oid=126734703&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI https://asc.fasb.org/extlink&amp;oid=126897435&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2023SanderElectronicsPrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2023SanderElectronicsPrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=us-gaap_BridgeLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=us-gaap_BridgeLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205221445904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - January 2023 Transactions with Mei Yun (Gina) Huang (Details) - January 2023 Transactions with Mei Yun (Gina) Huang - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 17, 2023</div></th>
<th class="th"><div>Jan. 10, 2023</div></th>
<th class="th"><div>Jan. 05, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Sale of common stock (in shares)</a></td>
<td class="nump">1,436,959<span></span>
</td>
<td class="nump">325,803<span></span>
</td>
<td class="nump">257,798<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock (USD per share)</a></td>
<td class="nump">$ 0.5630<span></span>
</td>
<td class="nump">$ 0.4604<span></span>
</td>
<td class="nump">$ 0.3879<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfPrivatePlacement', window );">Proceeds from issuance of private placement</a></td>
<td class="nump">$ 809<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 250<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfPrivatePlacement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from entity's raising of capital via private rather than public placement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfPrivatePlacement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2023TransactionsWithMeiYunGinaHuangMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2023TransactionsWithMeiYunGinaHuangMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205219883408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - June 2022 Private Placement (Details) - June 2022 Private Placement - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Sale of common stock (in shares)</a></td>
<td class="nump">1,313,462<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock (USD per share)</a></td>
<td class="nump">$ 1.30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,692,310<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of common stock (USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_PaymentsForPlacementAgentCommissions', window );">Amount paid for placement agent commissions</a></td>
<td class="nump">$ 252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement', window );">Amount paid related to expenses for registered direct offering and concurrent private placement</a></td>
<td class="nump">35<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_PaymentsForClearingFees', window );">Amount paid for clearing fees</a></td>
<td class="nump">47<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs paid on the issuance of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 334<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts', window );">Proceeds from sale of common stock and warrants</a></td>
<td class="nump">$ 3,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_EstimatedProceedsFromIssuanceOfWarrants', window );">Estimated proceeds from issuance of warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_June2022PrivatePlacementMember', window );">Pre-Funded Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="nump">1,378,848<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of common stock (USD per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_June2022PrivatePlacementMember', window );">Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="nump">2,692,310<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of common stock (USD per share)</a></td>
<td class="nump">$ 1.30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_EstimatedProceedsFromIssuanceOfWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Estimated Proceeds From Issuance Of Warrants</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;">efoi_EstimatedProceedsFromIssuanceOfWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsForClearingFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payments For Clearing Fees</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;">efoi_PaymentsForClearingFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsForPlacementAgentCommissions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payments For Placement Agent Commissions</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;">efoi_PaymentsForPlacementAgentCommissions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payments Related To Expenses For Registered Direct Offering And Concurrent Private Placement</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;">efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs</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;">efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share or per unit of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of securities into which the class of warrant or right may be converted. For example, but not limited to, 500,000 warrants may be converted into 1,000,000 shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfStockIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for cost incurred directly with the issuance of an equity security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfStockIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_June2022PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_June2022PrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightAxis=efoi_PreFundedWarrantsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightAxis=efoi_PreFundedWarrantsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightAxis=us-gaap_WarrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightAxis=us-gaap_WarrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205217788496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - December 2021 Private Placement (Details) - December 2021 Private Placement - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 16, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Sale of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,193,185<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock (USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.52<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,278,413<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of common stock (USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.52<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_PaymentsForPlacementAgentCommissions', window );">Amount paid for placement agent commissions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 360<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement', window );">Amount paid related to expenses for registered direct offering and concurrent private placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_PaymentsForClearingFees', window );">Amount paid for clearing fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">97<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs paid on the issuance of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">499<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts', window );">Proceeds from sale of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_EstimatedProceedsFromIssuanceOfWarrants', window );">Estimated proceeds from issuance of warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,500<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember', window );">Pre-Funded Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85,228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of common stock (USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Warrants issued (in shares)</a></td>
<td class="nump">85,228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember', window );">Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,278,413<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of common stock (USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.52<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ClassOfWarrantOrRightWarrantsIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Class Of Warrant Or Right, Warrants Issued</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ClassOfWarrantOrRightWarrantsIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_EstimatedProceedsFromIssuanceOfWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Estimated Proceeds From Issuance Of Warrants</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;">efoi_EstimatedProceedsFromIssuanceOfWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsForClearingFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payments For Clearing Fees</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;">efoi_PaymentsForClearingFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsForPlacementAgentCommissions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payments For Placement Agent Commissions</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;">efoi_PaymentsForPlacementAgentCommissions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payments Related To Expenses For Registered Direct Offering And Concurrent Private Placement</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;">efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs</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;">efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share or per unit of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of securities into which the class of warrant or right may be converted. For example, but not limited to, 500,000 warrants may be converted into 1,000,000 shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfStockIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for cost incurred directly with the issuance of an equity security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfStockIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightAxis=efoi_PreFundedWarrantsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightAxis=efoi_PreFundedWarrantsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightAxis=us-gaap_WarrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightAxis=us-gaap_WarrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205216467808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Preferred Stock (Details) - USD ($)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jan. 16, 2020</div></th>
<th class="th"><div>Mar. 29, 2019</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Jan. 15, 2020</div></th>
<th class="th"><div>Jul. 01, 2019</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, authorized (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000,000<span></span>
</td>
<td class="nump">5,000,000<span></span>
</td>
<td class="nump">5,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_PercentageOfSeriesAPreferredStockEligibleToVote', window );">Votes equal to the number of shares of common stock convertible</a></td>
<td class="nump">11.07%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_ConvertiblePreferredStockMember', window );">Series A Convertible Preferred Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, authorized (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,300,000<span></span>
</td>
<td class="nump">3,300,000<span></span>
</td>
<td class="nump">3,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">Convertible Debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt', window );">Proceeds from issuance of subordinated convertible promissory notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeFixedInterestRate', window );">Derivative, Fixed Interest Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">5.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock', window );">Net proceeds from the conversion of convertible debt to preferred stock</a></td>
<td class="nump">$ 1.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionPrice1', window );">Conversion rate (USD per share)</a></td>
<td class="nump">$ 0.67<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Conversion of notes to stock (in shares)</a></td>
<td class="nump">2,709,018<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, authorized (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">Convertible Debt | Preferred Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of notes to preferred stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,721,023<span></span>
</td>
<td class="nump">111,548<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">Convertible Debt | Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of notes to preferred stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">344,205<span></span>
</td>
<td class="nump">22,310<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net proceeds from the conversion of convertible debt to preferred stock</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;">efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PercentageOfSeriesAPreferredStockEligibleToVote">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage Of Series A Preferred Stock Eligible To Vote</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;">efoi_PercentageOfSeriesAPreferredStockEligibleToVote</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleConversionPrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 price per share of the conversion feature embedded in the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031898-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionPrice1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFixedInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fixed interest rate related to the interest rate derivative.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFixedInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a borrowing where a lender is placed in a lien position behind debt having a higher priority of repayment (senior) in liquidation of the entity's assets or underlying collateral.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI https://asc.fasb.org/extlink&amp;oid=126954810&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-30)<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -URI https://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI https://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI https://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_ConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_ConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_PreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_PreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205217516752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - January 2020 Equity Offering (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020InstitutionalInvestorMember', window );">Jan. 2020 Investor Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Sale of common stock (in shares)</a></td>
<td class="nump">688,360<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock (USD per share)</a></td>
<td class="nump">$ 3.37<span></span>
</td>
<td class="nump">$ 3.3700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="nump">688,360<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare', window );">Purchase price (USD per share)</a></td>
<td class="nump">$ 0.625<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">187,734<span></span>
</td>
<td class="nump">187,734<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember', window );">Institutional Investor</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of common stock (USD per share)</a></td>
<td class="nump">$ 3.37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020WarrantsMember', window );">January 2020 Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="nump">48,185<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of common stock (USD per share)</a></td>
<td class="nump">$ 4.99<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember', window );">January 2020 Equity Offering</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of common stock (USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.67<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">229,414<span></span>
</td>
<td class="nump">229,414<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_EstimatedProceedsFromIssuanceOfWarrants', window );">Estimated proceeds from issuance of warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised', window );">Issuance of common stock upon the exercise of warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ClassOfWarrantOrRightWarrantsIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Class Of Warrant Or Right, Warrants Issued</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ClassOfWarrantOrRightWarrantsIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Class Of Warrant Or Right, Warrants Issued, Price Per Share</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;">efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_EstimatedProceedsFromIssuanceOfWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Estimated Proceeds From Issuance Of Warrants</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;">efoi_EstimatedProceedsFromIssuanceOfWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share or per unit of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of securities into which the class of warrant or right may be converted. For example, but not limited to, 500,000 warrants may be converted into 1,000,000 shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of non-option equity instruments exercised by participants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020InstitutionalInvestorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020InstitutionalInvestorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020WarrantsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020WarrantsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205221428176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Outstanding Warrants from the January 2020 Equity Offering (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember', window );">January 2020 Equity Offering</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Warrants issued (in shares)</a></td>
<td class="nump">229,414<span></span>
</td>
<td class="nump">229,414<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of common stock (USD per share)</a></td>
<td class="nump">$ 3.67<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020InstitutionalInvestorMember', window );">Jan. 2020 Investor Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Warrants issued (in shares)</a></td>
<td class="nump">187,734<span></span>
</td>
<td class="nump">187,734<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock (USD per share)</a></td>
<td class="nump">$ 3.3700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.37<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingPrivatePlacementMember', window );">Jan. 2020 Placement Agent Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Warrants issued (in shares)</a></td>
<td class="nump">41,680<span></span>
</td>
<td class="nump">41,680<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of common stock (USD per share)</a></td>
<td class="nump">$ 4.9940<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ClassOfWarrantOrRightWarrantsIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Class Of Warrant Or Right, Warrants Issued</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ClassOfWarrantOrRightWarrantsIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share or per unit of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI https://asc.fasb.org/extlink&amp;oid=126973232&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020InstitutionalInvestorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020InstitutionalInvestorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingPrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingPrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205224575744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Stock-Based Compensation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 26<span></span>
</td>
<td class="nump">$ 44<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unearned stock-based compensation</a></td>
<td class="nump">$ 144<span></span>
</td>
<td class="nump">285<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Unearned compensation expected to be recognized, period</a></td>
<td class="text">2 years 7 months 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Product development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">4<span></span>
</td>
<td class="nump">6<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general, and administrative</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 22<span></span>
</td>
<td class="nump">$ 37<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205217330624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Estimates Utilized (Details) - Stock Option<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2022 </div>
<div>$ / shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Fair value of options issued (USD per share)</a></td>
<td class="nump">$ 1.17<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice', window );">Exercise price (USD per share)</a></td>
<td class="nump">$ 1.48<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected life of options (in years)</a></td>
<td class="text">6 years 1 month 6 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="nump">1.90%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="nump">99.20%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Dividend yield</a></td>
<td class="nump">0.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Agreed-upon price for the exchange of the underlying asset relating to the share-based payment award.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205216730176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Stock Options and a Summary of Activity (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2023 </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Number of Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding at beginning of period (in shares) | shares</a></td>
<td class="nump">330,808<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Granted (in shares) | shares</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Canceled/forfeited (in shares) | shares</a></td>
<td class="num">(65,903)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding at end of period (in shares) | shares</a></td>
<td class="nump">264,905<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Vested and expected to vest at period end (in shares) | shares</a></td>
<td class="nump">218,307<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Exercisable at period end (in shares) | shares</a></td>
<td class="nump">66,734<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted Average Exercise Price Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding at beginning of period (USD per share) | $ / shares</a></td>
<td class="nump">$ 1.97<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted (USD per share) | $ / shares</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Canceled/forfeited (USD per share) | $ / shares</a></td>
<td class="nump">2.88<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding at end of period (USD per share) | $ / shares</a></td>
<td class="nump">1.75<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Vested and expected to vest at period end (USD per share) | $ / shares</a></td>
<td class="nump">1.87<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Exercisable at period end (USD per share) | $ / shares</a></td>
<td class="nump">$ 3.10<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract', window );"><strong>Weighted Average Remaining Contractual Life (in years)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Outstanding at end of period</a></td>
<td class="text">8 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Vested and expected to vest at period end</a></td>
<td class="text">7 years 9 months 18 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Exercisable at period end</a></td>
<td class="text">4 years 7 months 6 days<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205217769536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Restricted Stock Units (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2023 </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract', window );"><strong>Weighted Average Remaining Contractual Life (in years)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Outstanding at end of period</a></td>
<td class="text">8 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward', window );"><strong>Restricted Stock Units</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Outstanding at beginning of period (in shares) | shares</a></td>
<td class="nump">11,600<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares) | shares</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Outstanding at end of period (in shares) | shares</a></td>
<td class="nump">11,600<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant Date Fair Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding at beginning of period (USD per share) | $ / shares</a></td>
<td class="nump">$ 1.59<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (USD per share) | $ / shares</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding at end of period (USD per share) | $ / shares</a></td>
<td class="nump">$ 1.59<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract', window );"><strong>Weighted Average Remaining Contractual Life (in years)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Outstanding at end of period</a></td>
<td class="text">1 year 4 months 24 days<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of equity instruments other than options outstanding, including both vested and non-vested instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI https://asc.fasb.org/extlink&amp;oid=128089324&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205217660688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligation', window );">Outstanding purchase commitments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,391<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember', window );">Scenario, Forecast</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermPurchaseCommitmentAmount', window );">Purchase commitment</a></td>
<td class="nump">$ 15<span></span>
</td>
<td class="nump">$ 1,376<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermPurchaseCommitmentAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum amount the entity agreed to spend under the long-term purchase commitment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermPurchaseCommitmentAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=srt_ScenarioForecastMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.23.1</span><table class="report" border="0" cellspacing="2" id="idm140205216415600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Income (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherIncomeAndExpensesAbstract', window );"><strong>Other Income and Expenses [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct', window );">ERTC refund</a></td>
<td class="nump">$ 431<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent', window );">ERTC expected receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 445<span></span>
</td>
<td class="nump">$ 445<span></span>
</td>
<td class="nump">$ 445<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payroll Tax Credit, Employee Retention Credit Under The CARES Act</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payroll Tax Credit, Employee Retention Credit Under The CARES Act, Current</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;">efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherIncomeAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherIncomeAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>efoi-20230331_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:efoi="http://www.energyfocusinc.com/20230331"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="efoi-20230331.xsd" xlink:type="simple"/>
    <context id="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i3e6f62a8ec0848d3b620c06d01d14575_I20230509">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2023-05-09</instant>
        </period>
    </context>
    <context id="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i057c62fbb4734a08944a41767816a2cd_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i5e5ab62779694ba6926de90a1d2e0626_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i3c8eada87c5e44ea817059a51cc69a5e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i98081df676ec427e979799294744af39_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i9a7d1794a8104661add5e63b5c25fdba_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i86b320633b8748dc85a9f088e696b620_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i4706e2749453474f96b0f826c02bfff2_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if277bf1acdad484097554eff824cecce_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ibed7bbd35e4d4af19a3ebaa34015a605_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia01de0e6925348a6b9aa1ff401e983fb_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i39baef1b652d45b5bbb73cee230fd1b3_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="if7e4573e94e04bfe8d334617676c042e_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i332087598fc94b48b75fa88d7e970e04_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ie9e52c1c012145bc88ceb201078bc021_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i79abf764b10649c79bfbc657c61a378f_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i5d6b6b1ab0d3414b98b494f103de997a_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i3b7929a1a0cc4899a09a752d8c4797b5_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i4f08e72e51384ba0bf2c79a56122cd78_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ibc3dff37f7264873822a9f182d2fdc74_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i602c31992dc94abbac78f92fe9a8b733_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i4eba2aa2e4a24070b5b0760556ca79ff_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i342384a9b8414f62ba8abbd02dd973c2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id7901ceeb87c4c8ca66d7c2df401ff8e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i83811faacbc549d98bb80d2341326cbc_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i635a8ef9501848789b80c3f87ba8b243_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9d29fd435d4542aa8f23d9515714b4a6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i556b1c8cb1cd47a1b87164f45d21cda2_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="iceb86460e9e4433eb3750bfe1f3af88e_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i1195bc7655cb48ebb4f1b611e02f65b3_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="iaab8650287eb45c28e38cc25ece6e62c_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i12c0c720e2fc4cebb08ef4088d810276_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="ic35168a23f0d42abbca5fc2abcd4f602_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i15719debed6d4560b8e0f721b24395c9_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i80ae409e01fb4b42ab86cd747db4c14c_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i466b5761fcc746f6b9e105f3ee815891_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i5a1e274029f04a2bb6408c3142d77ad7_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2022StreetervilleNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i1fb5e0ea729549988c25ee5f1b2a28a3_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2022StreetervilleNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="id87a1212102e49a0b20b08c6c1d7c45a_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2021StreetervilleNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="iaf725f30e0884d85b2a81b9eb941f3b7_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2021StreetervilleNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ifec2d4649e0640a483b9734304544c22_I20220823">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2022-08-23</instant>
        </period>
    </context>
    <context id="ib4c936dd58804d9eb7cae4c8085386ab_I20221116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2022-11-16</instant>
        </period>
    </context>
    <context id="i55ef4398e21f4f6dbfd5e88b0cae0545_I20220930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="ibe30b06375714179a1b95677450c759e_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:CommercialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i94e82c1ff6b8490dbbdcca8eebcda244_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:CommercialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i499a295ec2a245e2a185ccf3c2025c30_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:MMMProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i7370aef696994b87a86ab293a9fdbb9b_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:MMMProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ib64ba521b5ce47a8a7f8e9f2f474c4b2_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i9c11afc15b924445b0c0fef98f329885_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i5ed882c6d1f749b38fb083fbe6841fe2_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="id264de05f365449d9f7a9f3df99e34f3_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ibc1ea603e2574aa0af909464e538343c_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i66ce3809cdd748ea8963b144b7adce1d_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ib8dea66f5cf14ff4aa59d0d749fca4d0_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:CommercialProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i3f10e6324d1e49c0a03305664b51b5cd_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:MMMLEDProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="iabb8d8bbb108485e83e87af3006c33cc_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:CommercialProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i4aeeb86dd6994242bc366752d38a3e04_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:MMMLEDProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i39533d5a86274d87aa89cc005a86befc_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheU.S.NavyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="id7d941fcb5454139b313fdac8d88b7be_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:ShipbuilderForUSNavyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ia3d9865baf0a4b769020a2aad7da602f_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheUSDepartmentOfDefenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="icc1ccca233c64be9a50b97b050b34491_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:TopMilitaryCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i258f02ddd14c41c4b837ac28fa3fe00e_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheU.S.NavyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i70e02c73234b4f81923806790a5014e4_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:ShipbuilderForUSNavyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i249fc231ec704ffaad85618a8bbb5fb7_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:CommercialBuildingSystemsProviderMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ia7aec294cb2242e990cb4d96cb83dca2_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i8f10f3c585784b5a820d34645788da0e_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheU.S.NavyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i23ef6450019c468d8113a55a16e6dd29_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:ShipbuilderForUSNavyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ie37aea4688a4484a8f6d1364a87affe2_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheUSDepartmentOfDefenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i3c66925453f84f9aa582618cc0a3cfd3_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheUSDepartmentOfDefenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia59ea0b777e948d5adc15aa6b596a3df_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:ShipbuilderForUSNavyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="iaf48b7ed34e94c57a617794e4f353860_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">efoi:TotalExpendituresMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:OffshoreSupplierMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i63714b15234c43c1a759b4fff0f51c95_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">efoi:TotalExpendituresMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:OffshoreSupplierMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="id53c2d2340f545309dcc3789853755fc_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsPayableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:OffshoreSupplierMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i29e048e5bfd14d4f93beab25eb89037c_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsPayableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:OffshoreSupplierMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="iceffaa71abeb460796ab758ddc865e98_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ie9e61096539d4cf2be2ad4b561242d2e_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ib49f05a3b2cb4c41b2de428dc836bd6d_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i7d19e2e344e2469fa6992944d15d32e3_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i61de5a6f45cc489ca263c1d6d42dc732_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:ToolingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i23cc924ee69b442595563d20b7cda2eb_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:ToolingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i0bc136c70b924f38a45cb74ca3a3fb90_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:ToolingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i048bc115a9004fabafd8e56fefaa435e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:ToolingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i18f4f4ba167b46349c55e90e3ad996f1_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ie338435ef0114aa79de9ef679ecd95bc_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="idad41e308b924225b8004097bbd85c14_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:RealEstateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i7d59226ea92a47fe94617330f9077152_I20200811">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2020-08-11</instant>
        </period>
    </context>
    <context id="i87fd110b250342b5a0ca26882df52101_I20200811">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-08-11</instant>
        </period>
    </context>
    <context id="ic76872a63a204c61b8d0a1b59f160362_I20210420">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-20</instant>
        </period>
    </context>
    <context id="ie09a080a2f994403a9296b83e8cd3cc6_D20230120-20230120">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-20</startDate>
            <endDate>2023-01-20</endDate>
        </period>
    </context>
    <context id="i0a09ab1905c0402f85b0f70315110be9_D20230215-20230215">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-15</startDate>
            <endDate>2023-02-15</endDate>
        </period>
    </context>
    <context id="if0af9abe1f1b41199916803eee433b87_D20230120-20230215">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-20</startDate>
            <endDate>2023-02-15</endDate>
        </period>
    </context>
    <context id="i2214000f620a46028af77f006b1c600f_I20230117">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-17</instant>
        </period>
    </context>
    <context id="i5b393d3ef8e446888aa34122e67c058a_I20230118">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-18</instant>
        </period>
    </context>
    <context id="if38256cd7d8d439da68d0f81a2089297_I20230118">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-18</instant>
        </period>
    </context>
    <context id="i9baf512275464ae68a8b12856ad35e4d_D20230118-20230118">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-18</startDate>
            <endDate>2023-01-18</endDate>
        </period>
    </context>
    <context id="i7d12fde494e1457aa50b1d34b828319f_I20230118">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-18</instant>
        </period>
    </context>
    <context id="iaa20b630c02241b9a5a2d0122694ab6f_D20230118-20230118">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-18</startDate>
            <endDate>2023-01-18</endDate>
        </period>
    </context>
    <context id="i9c51e2968e164b0f9df0a55e449341cc_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:SecondAmendmentToInventoryFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="idd8402ce6a974b588caf75db373d50a9_I20200811">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:ReceivablesFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-08-11</instant>
        </period>
    </context>
    <context id="i72e1cf94b4064f4ebe75214b3ce623d2_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i91c6f338912b435784ccfbddf48168b4_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i41e2d0e3e506434fbaa71e7de008b1f5_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:ReceivablesFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i7bc73bc5fdb643f5b43333fa3eecd534_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:A2022PromissoryNoteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i9090aa53235a4f8281ae161f7e5aa961_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:GHuangDirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i1e4ab845c62943cba0ef361c872ab5e1_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:JHuangDirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i1481182b5bcd495fb59655fe25d7a32c_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:JHuangDirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia88ab878c60f49778cf704689ad9e111_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:GHuangDirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ia328fe650bf644c1a9b01c5ed0bc439b_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:JHuangDirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredFiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ib63e0653a6d549d8b489d631a56502c0_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:JHuangDirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredSixMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i9a89fbb099a44251804f9fd2862b9c03_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:TLinDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredSevenMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ib2b69b2bccb249c9bf3d6a207f9bfcf2_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:GHuangDirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="icd3aa5e028ee47d8a27e9aea53cf2352_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:JHuangDirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ia7963026ee6b48c5a9e5db6d78b8289e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:JHuangDirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="if6c6687e1b5a48b896939972954ca938_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:GHuangDirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i0660f7e1b92c47699732e94004e61e52_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:JHuangDirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredFiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i625e31a0a6624d52ab56d78f040da09d_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:JHuangDirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredSixMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i14134504c0f447e8914d00b8e85a0fa6_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:TLinDirectorsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="efoi:DebtInstrumentEnteredPeriodAxis">efoi:DateEnteredSevenMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i46cc008f0e0d4256807d2a588788ec76_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i294b6d4aeb7a457f9775ade51ca5e3a2_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">efoi:TwentyTwentyTwoPromissoryNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i258c463f8d6b45d3b99ab179cf1800e5_I20220421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2022StreetervilleNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-21</instant>
        </period>
    </context>
    <context id="id085ec620a324208b05e91d2f5488a8f_D20220421-20220421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2022StreetervilleNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-21</startDate>
            <endDate>2022-04-21</endDate>
        </period>
    </context>
    <context id="i718240b797de4b81a0f52acd7f06e10e_I20230120">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2022StreetervilleNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-20</instant>
        </period>
    </context>
    <context id="ifb4f7d5a9229487589f814638a6bf0f5_I20230714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2022StreetervilleNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-07-14</instant>
        </period>
    </context>
    <context id="idae42697aa534d7d9d9c78d80fca3f2c_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2022StreetervilleNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i7ad51a88357949ddac6065a0c7bc949d_I20240101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2022StreetervilleNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-01-01</instant>
        </period>
    </context>
    <context id="i6cf66b2f7157468c9efc024e67abb9a4_I20230714">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:March2023PartitionedNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-07-14</instant>
        </period>
    </context>
    <context id="i74ca160018094ae1b4880fd12a912840_D20230331-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:March2023PartitionedNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-31</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i47a06ebba8df4bc19d22f16443a7d6b9_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:March2023PartitionedNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="if26d58668d5c4538a01fdb9128348bc4_I20241201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:March2023PartitionedNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-01</instant>
        </period>
    </context>
    <context id="id347fd24602b438aa1c0ac207d8a7ded_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:StreetervilleNotePurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i3f95fa86258c4d7eaaf439b980b73442_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:StreetervilleNotePurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i2d56a47fadc4494ba21b3ffd38eb37bd_I20210427">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2021StreetervilleNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-27</instant>
        </period>
    </context>
    <context id="i170a8d67ff0340198a2cbb66b5887c1e_D20210427-20210427">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2021StreetervilleNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-27</startDate>
            <endDate>2021-04-27</endDate>
        </period>
    </context>
    <context id="i49de9cda51534bd38c86fd46aa5a79a5_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2021StreetervilleNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i298476856ec34f0fa7944b1a381d7ecb_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:A2021StreetervilleNoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9cda1dfa61d34114bc79f5cf7d4436b3_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i4e65ace7fbb1415f99e5a2fa5e31d1b4_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i9c60bcb6f9204487abe1389cf0b906f3_D20230328-20230328">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:March2023PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-28</startDate>
            <endDate>2023-03-28</endDate>
        </period>
    </context>
    <context id="i7027c559cc3f49338bee54f4a4847204_I20230328">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:March2023PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-28</instant>
        </period>
    </context>
    <context id="ib5c22671d2d54df7960676b0e3169188_D20230330-20230330">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:March2023PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-30</startDate>
            <endDate>2023-03-30</endDate>
        </period>
    </context>
    <context id="ifd269d1cfda943c8ae919496a2d5ef67_I20230330">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:March2023PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-30</instant>
        </period>
    </context>
    <context id="i291460a436e74a8890d1eb5273d6099b_D20230301-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:March2023PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="id9865a7bc8704943b0939a50784649a2_D20230224-20230224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:February2023PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-24</startDate>
            <endDate>2023-02-24</endDate>
        </period>
    </context>
    <context id="i8ef04b71592a400d908db421090dd9ce_I20230224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:February2023PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-24</instant>
        </period>
    </context>
    <context id="i6bf9ed1c24de4a6693287e8c35e9a8d4_D20230117-20230117">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023SanderElectronicsPrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-17</startDate>
            <endDate>2023-01-17</endDate>
        </period>
    </context>
    <context id="i1976d998f5364ca4b597c24061942a31_I20230117">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023SanderElectronicsPrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-17</instant>
        </period>
    </context>
    <context id="i11ba3f0a339e4defa9dcf9d51423839b_I20230117">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:BridgeLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023SanderElectronicsPrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-17</instant>
        </period>
    </context>
    <context id="i7561d7d2fabb42c3825cffe8d28091c7_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023SanderElectronicsPrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i1c69db5fe96c427d8cfee54829689680_D20230105-20230105">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023TransactionsWithMeiYunGinaHuangMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-05</startDate>
            <endDate>2023-01-05</endDate>
        </period>
    </context>
    <context id="ic350bac6fc4d4c42b2cb49046bbba055_I20230105">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023TransactionsWithMeiYunGinaHuangMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-05</instant>
        </period>
    </context>
    <context id="if27559900ba14605aa5b017a92c425d5_D20230110-20230110">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023TransactionsWithMeiYunGinaHuangMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-10</startDate>
            <endDate>2023-01-10</endDate>
        </period>
    </context>
    <context id="i28c47b0aabd34a3983363e49aef3fe35_I20230110">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023TransactionsWithMeiYunGinaHuangMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-10</instant>
        </period>
    </context>
    <context id="ib620521ca9b04958baba9c5cb5835fd8_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023TransactionsWithMeiYunGinaHuangMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i22dac5734a23420daa88677f1e86cffb_D20230117-20230117">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023TransactionsWithMeiYunGinaHuangMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-17</startDate>
            <endDate>2023-01-17</endDate>
        </period>
    </context>
    <context id="ibd7c40c732534005aecb39edffb318e1_I20230117">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2023TransactionsWithMeiYunGinaHuangMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-17</instant>
        </period>
    </context>
    <context id="i0bf245a9398c45ab9aba5d709a637fba_D20220601-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:June2022PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="i7cc420d30737483fa70487c04fb1e454_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:June2022PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i6668546623db4539a1a0c44cb5d2a5f6_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">efoi:PreFundedWarrantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:June2022PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="ic55e4555f8744a3b967ad970b478a329_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:June2022PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i496d4240f2c04e9e830137e11845cd80_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:June2022PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i7aab7607ff8d425bbe2d816b84f72323_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:June2022PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i644d63cb81c64c69a207f69a4088a6ed_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:June2022PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i69885f7bf8744a93a44bc87c138ac3b1_D20211201-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i12dea23a546e4b08b0ba38de5742b60a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ib620e4eb1b0a4daeaaba69a3bbe3b84e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">efoi:PreFundedWarrantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ieae979ec2cf94da093b3272417381bcd_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i074f11f03e774242b1ecb598bd4cea7f_D20211216-20211216">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">efoi:PreFundedWarrantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-16</startDate>
            <endDate>2021-12-16</endDate>
        </period>
    </context>
    <context id="idd12a3606e1349c4b2047634fc7ede76_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i1f8e23f1e58546ce941c30d8eb491023_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i12927e9338144a7eb412104e8c6ace1a_D20190329-20190329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-03-29</startDate>
            <endDate>2019-03-29</endDate>
        </period>
    </context>
    <context id="ie63a2681dbee426b840138c1c3f1c9d7_I20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="ie144f28839aa444d922bb66c92486a03_I20190701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-01</instant>
        </period>
    </context>
    <context id="i601e3044a28047b98b3e2a30d9c29e43_D20200116-20200116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-16</startDate>
            <endDate>2020-01-16</endDate>
        </period>
    </context>
    <context id="i35b137a8f2404f898c2e3b2ad1314945_I20200116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-16</instant>
        </period>
    </context>
    <context id="ia50ca055e69a4b99bf1a4547a63d79d5_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i0261bef7689546bb92cca9989ac1ee5f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie785e1b01ce144978c696c964d3f74b1_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i5b71515002e541fba61b2b939bd235f4_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib1428b5108e841cf9d83692503d4b513_I20190329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-29</instant>
        </period>
    </context>
    <context id="ic491b39a305d42b5af19a65aec7b34b1_I20200115">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2020-01-15</instant>
        </period>
    </context>
    <context id="i1d9aeb6fd9ca45dfbc7f484c850f3d8f_I20200115">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-15</instant>
        </period>
    </context>
    <context id="ifbb95b0452954896a5a02ad5df96371e_D20200116-20200116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2020-01-16</startDate>
            <endDate>2020-01-16</endDate>
        </period>
    </context>
    <context id="if71e51af4c6343f8a9dbdd3e76dc5c64_D20200101-20200131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020InstitutionalInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="ifb08d9a40cab4e0eab82621d0ad95c8a_I20200131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020InstitutionalInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="ife8e2ca953054aeaba994b6e6be18d10_I20200131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:InstitutionalInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="ibba592b486134badbe15078e7e18f53a_I20200131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020WarrantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="i3c1bc63ce1f040569c6d64a5cf208f9b_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i94855a7a54934b0da586d3b674eb0722_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i794af841c00e46529844c235b8236cf0_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i7411641aa95f4029850044a4e3ad38d6_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020InstitutionalInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i2858fe93457e47db8bb1de5daf816c95_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020InstitutionalInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i45fa612b43eb4bd486c6e3a20bd74bfe_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020InstitutionalInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i2dac718f7ea8418e8d1ad13aceffb769_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingPrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i92f443a8028149b19c6e6ee056d8c7f7_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingPrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i22e1f0a92b7f4cd6b77bc7c30d68fd99_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingPrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i2d2127a8f233485ba4347070cedb0568_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i97950f64fa9243a1bccc32d8c2492208_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="iee298cab50824f879c844578b9ae01fd_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ia840289d38cc4de4b6889e10e57d8f4a_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i0b7a3591d13f40498199436a4918bdae_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ie7343fdb57a840bdbf54fb0a3f469aef_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i0e343c763aa94fb19884a9e71c1b3fde_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ie1f2a65bb1ca407292186293e7aad935_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i1bc9012ae9db4b018ac9f12ca21fe222_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i8efcd85eb0fd4c459309b1cc67f0c411_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i169854f0bb8447468f02f9d274f02cb6_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i067d40fab95745f89a4bec1164793dd3_D20230401-20230630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="i256e02b3d9cd45ae90fdf507325d58dc_D20230701-20230930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2023-09-30</endDate>
        </period>
    </context>
    <context id="if52337259ca94ff6adbd8c395875af1f_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i6e836d92561341ffb8c493dd07587cee_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="d">
        <measure>utr:D</measure>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="creditfacility">
        <measure>efoi:creditFacility</measure>
    </unit>
    <unit id="deferral">
        <measure>efoi:deferral</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80L2ZyYWc6ZDY0ZTAwODRhMTBiNGZjMWExNTM4OTVjNjg2MTVjZDEvdGFibGU6Zjk4ZmMyNGM1ZjNhNDk5NjkyYzllZWVmZWY4ZjhlODIvdGFibGVyYW5nZTpmOThmYzI0YzVmM2E0OTk2OTJjOWVlZWZlZjhmOGU4Ml80LTEtMS0xLTEwNTk5NA_81334c2e-21bf-4d7b-8393-0fba740c8a70">0000924168</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80L2ZyYWc6ZDY0ZTAwODRhMTBiNGZjMWExNTM4OTVjNjg2MTVjZDEvdGFibGU6Zjk4ZmMyNGM1ZjNhNDk5NjkyYzllZWVmZWY4ZjhlODIvdGFibGVyYW5nZTpmOThmYzI0YzVmM2E0OTk2OTJjOWVlZWZlZjhmOGU4Ml81LTEtMS0xLTEwNTk5NA_c422a24a-1b8f-48a1-848c-e5405291599f">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80L2ZyYWc6ZDY0ZTAwODRhMTBiNGZjMWExNTM4OTVjNjg2MTVjZDEvdGFibGU6Zjk4ZmMyNGM1ZjNhNDk5NjkyYzllZWVmZWY4ZjhlODIvdGFibGVyYW5nZTpmOThmYzI0YzVmM2E0OTk2OTJjOWVlZWZlZjhmOGU4Ml8xMy0xLTEtMS0xMDU5OTQ_ff0ba801-9b0e-4db3-be43-dcbd1e57b474">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80L2ZyYWc6ZDY0ZTAwODRhMTBiNGZjMWExNTM4OTVjNjg2MTVjZDEvdGFibGU6Zjk4ZmMyNGM1ZjNhNDk5NjkyYzllZWVmZWY4ZjhlODIvdGFibGVyYW5nZTpmOThmYzI0YzVmM2E0OTk2OTJjOWVlZWZlZjhmOGU4Ml8xNC0xLTEtMS0xMDU5OTQ_e726dafb-ab9d-4b1a-8a38-6c9e64baad38">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80L2ZyYWc6ZDY0ZTAwODRhMTBiNGZjMWExNTM4OTVjNjg2MTVjZDEvdGFibGU6Zjk4ZmMyNGM1ZjNhNDk5NjkyYzllZWVmZWY4ZjhlODIvdGFibGVyYW5nZTpmOThmYzI0YzVmM2E0OTk2OTJjOWVlZWZlZjhmOGU4Ml8xNS0xLTEtMS0xMDU5OTQ_3f3a7372-927a-4e57-8742-c0a801b18376">false</dei:AmendmentFlag>
    <dei:EntityRegistrantName
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80L2ZyYWc6ZDY0ZTAwODRhMTBiNGZjMWExNTM4OTVjNjg2MTVjZDEvdGV4dHJlZ2lvbjpkNjRlMDA4NGExMGI0ZmMxYTE1Mzg5NWM2ODYxNWNkMV8zMQ_0ac60614-570b-45b1-a626-618579a30974">ENERGY FOCUS, INC/DE</dei:EntityRegistrantName>
    <us-gaap:AccountingStandardsUpdateExtensibleList
      contextRef="if7e4573e94e04bfe8d334617676c042e_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTItMC0xLTEtMTIzNDI4_f691fd30-036e-44fd-ac7f-7799a74f36e1">http://fasb.org/us-gaap/2022#AccountingStandardsUpdate201613Member</us-gaap:AccountingStandardsUpdateExtensibleList>
    <efoi:StandardProductWarrantyNumberofYears
      contextRef="ib8dea66f5cf14ff4aa59d0d749fca4d0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAxNg_16e1c2b7-1b11-4993-a4ef-f853eb7486b6">P5Y</efoi:StandardProductWarrantyNumberofYears>
    <efoi:StandardProductWarrantyNumberofYears
      contextRef="i3f10e6324d1e49c0a03305664b51b5cd_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAxNg_5f339c5e-7af8-42cc-a026-46659e81cb9d">P5Y</efoi:StandardProductWarrantyNumberofYears>
    <dei:DocumentType
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGV4dHJlZ2lvbjo3MDMwNzY2NDU1MTg0ODU4YjE2YTdhNGQ2ZDE4MWFmYl8xODU0_8cc9e97f-1acd-42c7-aaf0-914bb3b702f6">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6YWJkOWY1ZmQzYzkxNDkxM2I2NDAyOTUxYmM3MjYyM2UvdGFibGVyYW5nZTphYmQ5ZjVmZDNjOTE0OTEzYjY0MDI5NTFiYzcyNjIzZV8wLTAtMS0xLTEwNTk5NA_e3939c7b-bac2-42b7-aae7-155a51e6df6d">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGV4dHJlZ2lvbjo3MDMwNzY2NDU1MTg0ODU4YjE2YTdhNGQ2ZDE4MWFmYl8xMjI_aa666812-b042-4df7-8644-c3c0d6866a63">2023-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6MzY4ZWFkODI4MTIxNDM0YTg0ODIwOTI1MWQwNDgxMWUvdGFibGVyYW5nZTozNjhlYWQ4MjgxMjE0MzRhODQ4MjA5MjUxZDA0ODExZV8wLTAtMS0xLTEwNTk5NA_a102e5fa-b2eb-4e92-8551-5a25dc5b6569">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGV4dHJlZ2lvbjo3MDMwNzY2NDU1MTg0ODU4YjE2YTdhNGQ2ZDE4MWFmYl8xODQ4_6e44100b-47fe-4dc9-ab00-b25d8b3bece5">001-36583</dei:EntityFileNumber>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl8wLTAtMS0xLTEwNTk5NA_44c09217-e1fa-4159-b8f8-f155546689f2">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl8wLTItMS0xLTEwNTk5NA_8b1c1984-9dd9-47f3-ab69-528ba96047f1">94-3021850</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl8zLTAtMS0xLTEwNTk5NC90ZXh0cmVnaW9uOmVmYzFhOGU5M2FiZDQ5ZjA5MGRlMDBjOThhMDI5NmU2XzQ_c15fae1f-2c7c-46d9-b85e-c00f9986ae34">32000&#160;Aurora&#160;Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl8zLTAtMS0xLTEwNTk5NC90ZXh0cmVnaW9uOmVmYzFhOGU5M2FiZDQ5ZjA5MGRlMDBjOThhMDI5NmU2Xzg_a0c142d5-b071-404d-8fe9-0508e704b45e">Suite B</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl8zLTAtMS0xLTEwNTk5NC90ZXh0cmVnaW9uOmVmYzFhOGU5M2FiZDQ5ZjA5MGRlMDBjOThhMDI5NmU2XzEx_10df4c12-13ca-446a-99cd-b11693a100c5">Solon</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl8zLTAtMS0xLTEwNTk5NC90ZXh0cmVnaW9uOmVmYzFhOGU5M2FiZDQ5ZjA5MGRlMDBjOThhMDI5NmU2XzE1_86382903-cc24-4094-be68-093f9474c998">OH</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl82LTAtMS0xLTEwNTk5NA_2c54d402-fa2c-46d6-b12f-e1b115a05075">44139</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl84LTAtMS0xLTEwNTk5NC90ZXh0cmVnaW9uOjg0ZTg1ZTQwOGJjZTQyMWVhNTJkYWZiMTc1MzBkMzBlXzU4_37277452-17bd-4f00-819d-49a603123196">(440)</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDU0NzllNTE5YWM1NGZjOWIyMjUwNTlmNGQ4ZGJhZDIvdGFibGVyYW5nZTpkNTQ3OWU1MTlhYzU0ZmM5YjIyNTA1OWY0ZDhkYmFkMl84LTAtMS0xLTEwNTk5NC90ZXh0cmVnaW9uOjg0ZTg1ZTQwOGJjZTQyMWVhNTJkYWZiMTc1MzBkMzBlXzYx_61687250-0ee2-4dda-a07f-15139386e025">715-1300</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6YzlkMGRlNmNmYjBlNDY1MGI3MGM3NDY1MmRmMjZhMjYvdGFibGVyYW5nZTpjOWQwZGU2Y2ZiMGU0NjUwYjcwYzc0NjUyZGYyNmEyNl8xLTAtMS0xLTEwNTk5NA_e366fe34-8362-45e0-a336-b62b40222896">Common Stock, par value $0.0001 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6YzlkMGRlNmNmYjBlNDY1MGI3MGM3NDY1MmRmMjZhMjYvdGFibGVyYW5nZTpjOWQwZGU2Y2ZiMGU0NjUwYjcwYzc0NjUyZGYyNmEyNl8xLTEtMS0xLTEwNTk5NA_51c0bd7d-1a1f-4e7f-bd1c-f5da098d149f">EFOI</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6YzlkMGRlNmNmYjBlNDY1MGI3MGM3NDY1MmRmMjZhMjYvdGFibGVyYW5nZTpjOWQwZGU2Y2ZiMGU0NjUwYjcwYzc0NjUyZGYyNmEyNl8xLTItMS0xLTEwNTk5NA_ec495a16-c795-42c3-8bd1-2ceee9bee51e">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGV4dHJlZ2lvbjo3MDMwNzY2NDU1MTg0ODU4YjE2YTdhNGQ2ZDE4MWFmYl8xODUx_70bcf5ef-4517-4195-82d5-fff88b920cab">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGV4dHJlZ2lvbjo3MDMwNzY2NDU1MTg0ODU4YjE2YTdhNGQ2ZDE4MWFmYl8xODUy_d5efa7b1-ca3e-41c6-950f-151d7c0f53b9">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDk2OWIzMDRiMmRmNDMwMjgwZjc4MTJlYTY1OGZlZGMvdGFibGVyYW5nZTpkOTY5YjMwNGIyZGY0MzAyODBmNzgxMmVhNjU4ZmVkY18xLTAtMS0xLTEwNTk5NA_75668af6-d184-4798-bc4b-982496b31bb6">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDk2OWIzMDRiMmRmNDMwMjgwZjc4MTJlYTY1OGZlZGMvdGFibGVyYW5nZTpkOTY5YjMwNGIyZGY0MzAyODBmNzgxMmVhNjU4ZmVkY18xLTMtMS0xLTEwNTk5NA_fbcb78d7-db49-4f51-bdd7-9afef4f66007">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGFibGU6ZDk2OWIzMDRiMmRmNDMwMjgwZjc4MTJlYTY1OGZlZGMvdGFibGVyYW5nZTpkOTY5YjMwNGIyZGY0MzAyODBmNzgxMmVhNjU4ZmVkY18yLTMtMS0xLTEwNTk5NA_79b2ba36-9e9b-4bdf-ae81-f92b542aba87">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGV4dHJlZ2lvbjo3MDMwNzY2NDU1MTg0ODU4YjE2YTdhNGQ2ZDE4MWFmYl8xODUz_19ea4a40-2f99-4cbf-9c85-35c6717dae88">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i3e6f62a8ec0848d3b620c06d01d14575_I20230509"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xL2ZyYWc6NzAzMDc2NjQ1NTE4NDg1OGIxNmE3YTRkNmQxODFhZmIvdGV4dHJlZ2lvbjo3MDMwNzY2NDU1MTg0ODU4YjE2YTdhNGQ2ZDE4MWFmYl8xODQ2_2e8f73d5-3087-4a49-88e0-fb9272120af8"
      unitRef="shares">19243610</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNC0xLTEtMS0xMDU5OTQ_94812e08-bad4-4a49-85cb-0a9c541715ba"
      unitRef="usd">301000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNC0zLTEtMS0xMDU5OTQ_cbf4cf43-76a7-4603-a7c7-50a673c88636"
      unitRef="usd">52000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNS0wLTEtMS0xMDU5OTQvdGV4dHJlZ2lvbjo0MGIyN2JmZTkyYzc0NDg3OTJiODJjZGNlYzY2OGM1MV81MA_03bcd735-1eae-4076-9b67-de20ceea1267"
      unitRef="usd">58000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNS0wLTEtMS0xMDU5OTQvdGV4dHJlZ2lvbjo0MGIyN2JmZTkyYzc0NDg3OTJiODJjZGNlYzY2OGM1MV81Nw_0c3f1344-da82-4bae-90ef-5a9d9db1e366"
      unitRef="usd">26000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNS0xLTEtMS0xMDU5OTQ_a6a23fa7-ab4a-4c9c-96a9-059e41df6d9e"
      unitRef="usd">909000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNS0zLTEtMS0xMDU5OTQ_808c281f-f1ff-4708-92d0-50541ad1e545"
      unitRef="usd">445000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNi0xLTEtMS0xMDU5OTQ_89f5409f-d733-49ab-910b-061a4a22cba8"
      unitRef="usd">4938000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNi0zLTEtMS0xMDU5OTQ_03673663-9846-4f34-9ddf-44c8a1cad51b"
      unitRef="usd">5476000</us-gaap:InventoryNet>
    <us-gaap:DepositsAssetsCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNy0xLTEtMS0xMDU5OTQ_e015ecf1-1e6e-4c6d-a6ad-5642ab5e356a"
      unitRef="usd">615000</us-gaap:DepositsAssetsCurrent>
    <us-gaap:DepositsAssetsCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNy0zLTEtMS0xMDU5OTQ_8ad8a0a7-9a63-41fd-aeb5-25968dacf2c1"
      unitRef="usd">592000</us-gaap:DepositsAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfOC0xLTEtMS0xMDU5OTQ_89e68f4c-aef6-4b90-91fb-9bf304acf6bc"
      unitRef="usd">226000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfOC0zLTEtMS0xMDU5OTQ_87f2e687-3c5f-4aea-89a9-6d88490510ec"
      unitRef="usd">232000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <efoi:ReceivableForClaimedEmployeeRetentionTaxCreditCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTAtMS0xLTEtMTA2MjQy_0a75ef9e-4c91-4525-ad3f-a49571e98663"
      unitRef="usd">445000</efoi:ReceivableForClaimedEmployeeRetentionTaxCreditCurrent>
    <efoi:ReceivableForClaimedEmployeeRetentionTaxCreditCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTAtMy0xLTEtMTA2MjQy_a3ab0829-8978-4fd8-8ad7-da66c3b2a1f0"
      unitRef="usd">445000</efoi:ReceivableForClaimedEmployeeRetentionTaxCreditCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTAtMS0xLTEtMTA1OTk0_4f8b3d62-0770-4b46-9ee9-f40385284161"
      unitRef="usd">7434000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTAtMy0xLTEtMTA1OTk0_4bf7c5c6-3ee2-4660-9bed-025f407c65df"
      unitRef="usd">7242000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTItMS0xLTEtMTA1OTk0_8c7e104a-a677-49c5-aa75-507ee4551b12"
      unitRef="usd">68000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTItMy0xLTEtMTA1OTk0_0536f557-6f10-4333-b293-e98e031e5129"
      unitRef="usd">76000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTQtMS0xLTEtMTA1OTk0_d0d7703c-81d8-486b-9f26-21200cae54b4"
      unitRef="usd">1111000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTQtMy0xLTEtMTA1OTk0_1346957a-616e-41bb-898a-2d98cef0dd4e"
      unitRef="usd">1180000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Assets
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTktMS0xLTEtMTA1OTk0_2b0e2d2c-0a97-4c01-a0d9-c5a4c1fd18cd"
      unitRef="usd">8613000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMTktMy0xLTEtMTA1OTk0_d8cef959-76b7-48a8-aebb-5112965d61c3"
      unitRef="usd">8498000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjMtMS0xLTEtMTA1OTk0_d358e232-f04b-48a2-8ba6-c8413fa870b1"
      unitRef="usd">2177000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjMtMy0xLTEtMTA1OTk0_d8392e7a-3730-409c-a2a6-2d902082ed47"
      unitRef="usd">2204000</us-gaap:AccountsPayableCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjQtMS0xLTEtMTA1OTk0_72623fab-f1c6-486b-83aa-7389d56377a6"
      unitRef="usd">229000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjQtMy0xLTEtMTA1OTk0_a16995f8-36fc-46f1-84b2-d29454f8835c"
      unitRef="usd">145000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjYtMS0xLTEtMTA1OTk0_99121dcc-ba8b-4edb-8da1-639a0f421062"
      unitRef="usd">235000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjYtMy0xLTEtMTA1OTk0_6f0965fc-3156-460b-a2a6-f62f8c9f81b7"
      unitRef="usd">261000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:AccruedSalesCommissionCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjctMS0xLTEtMTA1OTk0_7c6cffbf-48e3-48e5-ba21-e097434cb780"
      unitRef="usd">29000</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:AccruedSalesCommissionCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjctMy0xLTEtMTA1OTk0_b7eedcb5-0d62-485f-9d67-193868471e8f"
      unitRef="usd">76000</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:StandardProductWarrantyAccrualCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjktMS0xLTEtMTA1OTk0_71043c83-267d-4df7-9fa3-d2dce4d34c64"
      unitRef="usd">143000</us-gaap:StandardProductWarrantyAccrualCurrent>
    <us-gaap:StandardProductWarrantyAccrualCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMjktMy0xLTEtMTA1OTk0_8b108056-8c83-4944-9d53-896a21cb89c8"
      unitRef="usd">183000</us-gaap:StandardProductWarrantyAccrualCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMzEtMS0xLTEtMTA1OTk0_9857785c-b0ab-4935-a476-3dcc311a67de"
      unitRef="usd">205000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMzEtMy0xLTEtMTA1OTk0_46e7bc1e-2206-4064-928a-e1d0fb771286"
      unitRef="usd">198000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMzUtMS0xLTEtMTA1OTk0_1aab0a8b-6d17-42b8-a728-1608691c85d0"
      unitRef="usd">388000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMzUtMy0xLTEtMTA1OTk0_41f23e61-2ab0-4e24-b7f4-e2c2a8023939"
      unitRef="usd">1447000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:NotesPayableRelatedPartiesClassifiedCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMzgtMS0xLTEtMTA1OTk0_599c520b-95a0-4b0b-87d2-837aaa280abf"
      unitRef="usd">0</us-gaap:NotesPayableRelatedPartiesClassifiedCurrent>
    <us-gaap:NotesPayableRelatedPartiesClassifiedCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMzgtMy0xLTEtMTA1OTk0_aa6a174a-63f3-43f2-85eb-5c4a4a747192"
      unitRef="usd">814000</us-gaap:NotesPayableRelatedPartiesClassifiedCurrent>
    <us-gaap:NotesPayableCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMzktMS0xLTEtMTA1OTk0_7326c17a-ee5b-4469-a7eb-e90526cf3387"
      unitRef="usd">1277000</us-gaap:NotesPayableCurrent>
    <us-gaap:NotesPayableCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfMzktMy0xLTEtMTA1OTk0_111108bd-7e52-40fc-8dc6-2c41ebd8b799"
      unitRef="usd">2618000</us-gaap:NotesPayableCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNDAtMS0xLTEtMTA1OTk0_13ce121d-f47c-4ee9-a0e4-fd8fa073f7cd"
      unitRef="usd">4683000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmU5MDNiZWFmYjkxNTRkOGY4OWQxNmYzZDBkZWNlNDdmL3RhYmxlcmFuZ2U6ZTkwM2JlYWZiOTE1NGQ4Zjg5ZDE2ZjNkMGRlY2U0N2ZfNDAtMy0xLTEtMTA1OTk0_fe80f146-8413-4b29-9641-605ff9b08ed3"
      unitRef="usd">7946000</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfNC0xLTEtMS0xMDU5OTQ_27380f6d-4af6-4b70-b58f-f6f53653b2a3"
      unitRef="usd">975000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfNC0zLTEtMS0xMDU5OTQ_db6f4fba-f23c-4da2-9e45-344819fcb173"
      unitRef="usd">1029000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:Liabilities
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfOS0xLTEtMS0xMDU5OTQ_42bf2e69-8949-4f78-88fd-430fc636aaca"
      unitRef="usd">5658000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfOS0zLTEtMS0xMDU5OTQ_6be67c51-b7a3-45d5-bb1b-2309832ae60e"
      unitRef="usd">8975000</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTItMC0xLTEtMTA1OTk0L3RleHRyZWdpb246NTkxYzRlOTFlZTdhNGIzMTlmZmI2NWFlZDkwMGIyODVfMzE_acd9aa19-eb51-4347-94ee-b89e5920128e"
      unitRef="usdPerShare">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTItMC0xLTEtMTA1OTk0L3RleHRyZWdpb246NTkxYzRlOTFlZTdhNGIzMTlmZmI2NWFlZDkwMGIyODVfMzE_dd01a376-088b-42ce-a85e-0b2afcfe7e70"
      unitRef="usdPerShare">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTMtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246Y2FhZGMwZjFkNDUwNGNkMWFiZmZhMGYzNWQ4YjhmMWFfMTY_6de04620-8212-46cd-8a9f-eaf115f83c17"
      unitRef="shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTMtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246Y2FhZGMwZjFkNDUwNGNkMWFiZmZhMGYzNWQ4YjhmMWFfMTY_bd3a3b16-b1b4-4d0a-8d86-6604cd4718ce"
      unitRef="shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i5e5ab62779694ba6926de90a1d2e0626_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTMtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246Y2FhZGMwZjFkNDUwNGNkMWFiZmZhMGYzNWQ4YjhmMWFfMjc_2b3e3e0b-83ec-49f2-8729-2b1ee970fdd8"
      unitRef="shares">3300000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i3c8eada87c5e44ea817059a51cc69a5e_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTMtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246Y2FhZGMwZjFkNDUwNGNkMWFiZmZhMGYzNWQ4YjhmMWFfMjc_9aa7935e-7cc6-41cf-9dad-b34f537e4d37"
      unitRef="shares">3300000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTQtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246N2VjYzc4MWEyZDk2NGQ5YmE1ZTRkMTYzYzE3OTcwNTdfMjg_02a4c4f6-6b74-4e1c-969b-2acecda3cec9"
      unitRef="shares">876447</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTQtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246N2VjYzc4MWEyZDk2NGQ5YmE1ZTRkMTYzYzE3OTcwNTdfMjg_0390d7e7-0c1d-4707-b267-087e98016ab1"
      unitRef="shares">876447</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTQtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246N2VjYzc4MWEyZDk2NGQ5YmE1ZTRkMTYzYzE3OTcwNTdfMjg_ca62177d-3ce6-46b8-918f-31c908e2fc74"
      unitRef="shares">876447</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTQtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246N2VjYzc4MWEyZDk2NGQ5YmE1ZTRkMTYzYzE3OTcwNTdfMjg_fba3c3b5-d866-4e60-a4d3-094baffaed66"
      unitRef="shares">876447</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTQtMS0xLTEtMTA1OTk0_10d9d874-1d29-48c7-a69c-2d4d0bac5221"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTQtMy0xLTEtMTA1OTk0_1cd86a57-b00f-4767-a8b4-da6b3ab394c3"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTUtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246MGQ0YzliZWVlMmUzNGExNDkwYzVhNWZkNmIzZTY3ZDVfMjg_104fa4bb-86f2-49e2-92df-09574a96762d"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTUtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246MGQ0YzliZWVlMmUzNGExNDkwYzVhNWZkNmIzZTY3ZDVfMjg_e716da28-1bb1-4ce1-a92a-498d17827ea0"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTYtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246MTc3ODQ4MTNiOWU1NDI4NGE4ZjJiZDA2MDgxY2FhMGNfMTY_48441166-6d09-4766-abd3-4a86d37003ca"
      unitRef="shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTYtMC0xLTEtMTA1OTk0L3RleHRyZWdpb246MTc3ODQ4MTNiOWU1NDI4NGE4ZjJiZDA2MDgxY2FhMGNfMTY_56bdb60d-e07b-4425-b5ca-6dfbdee821d0"
      unitRef="shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTctMC0xLTEtMTA1OTk0L3RleHRyZWdpb246YzVlYjU3Y2Y5NjgzNGNhZjkyNTcxMTI0YTE4YTRmYWVfMjg_338a865d-114e-4243-9cdc-3d3b0d4c57a2"
      unitRef="shares">19243610</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTctMC0xLTEtMTA1OTk0L3RleHRyZWdpb246YzVlYjU3Y2Y5NjgzNGNhZjkyNTcxMTI0YTE4YTRmYWVfMjg_a3cf00c3-587a-4f5c-8d35-0c1055e4088b"
      unitRef="shares">19243610</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTctMC0xLTEtMTA1OTk0L3RleHRyZWdpb246YzVlYjU3Y2Y5NjgzNGNhZjkyNTcxMTI0YTE4YTRmYWVfNDE_aef29719-e0df-4baf-967a-5899c32a4f22"
      unitRef="shares">9848438</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTctMC0xLTEtMTA1OTk0L3RleHRyZWdpb246YzVlYjU3Y2Y5NjgzNGNhZjkyNTcxMTI0YTE4YTRmYWVfNDE_f8592b5a-a058-42e8-a192-b0d63399c2e2"
      unitRef="shares">9848438</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTctMS0xLTEtMTA1OTk0_cc040323-087d-4b15-ac7a-0f0f51ab8070"
      unitRef="usd">2000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTctMy0xLTEtMTA1OTk0_a0896019-67ee-405d-90d4-5d664c5368c4"
      unitRef="usd">1000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTgtMS0xLTEtMTA1OTk0_8e683a21-663c-4576-92e1-2887a6792e07"
      unitRef="usd">153311000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTgtMy0xLTEtMTA1OTk0_3c92b84f-b90c-4c7e-b05d-acf4332675e5"
      unitRef="usd">148545000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTktMS0xLTEtMTA1OTk0_51cbd2df-6259-43ba-8d1b-a04063c8e619"
      unitRef="usd">-3000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMTktMy0xLTEtMTA1OTk0_83a30e26-c09f-45c6-9c83-cdc063f37c72"
      unitRef="usd">-3000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMjAtMS0xLTEtMTA1OTk0_c5b419f8-618a-4107-ab70-25d350d592dc"
      unitRef="usd">-150355000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMjAtMy0xLTEtMTA1OTk0_f6202327-686a-49dd-8dcf-a8e33e652bda"
      unitRef="usd">-149020000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMjEtMS0xLTEtMTA1OTk0_09b8493a-3ff7-47e9-b10a-686cca440a4f"
      unitRef="usd">2955000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMjEtMy0xLTEtMTA1OTk0_0600c4fe-a2b3-44ad-8272-0eacda61a91c"
      unitRef="usd">-477000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMjItMS0xLTEtMTA1OTk0_d1968d50-c6ba-4caa-99ae-83acab0a1a20"
      unitRef="usd">8613000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xNi9mcmFnOmMxMTU4YzY5NWUyNTQwMzk4YzYwMTM2YmIxYTc3NDdhL3RhYmxlOmViOGZhYTNkNDIyZDRjYWM4YjJjMjZmMzdjNWRmNzE4L3RhYmxlcmFuZ2U6ZWI4ZmFhM2Q0MjJkNGNhYzhiMmMyNmYzN2M1ZGY3MThfMjItMy0xLTEtMTA1OTk0_485a449b-7ad8-4673-bb4a-7927cfb3b30e"
      unitRef="usd">8498000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMi01LTEtMS0xMDU5OTQ_338997d4-2460-4e2a-9eb8-460fa7a10cb4"
      unitRef="usd">930000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMi03LTEtMS0xMDU5OTQ_6bb6f294-9b92-47c5-a71c-fc0509591770"
      unitRef="usd">2061000</us-gaap:Revenues>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMy01LTEtMS0xMDU5OTQ_e09cbe67-f5c7-4281-ba23-98c2c90e9506"
      unitRef="usd">913000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMy03LTEtMS0xMDU5OTQ_8cdd2a15-65b1-457e-aa76-e36a133b303d"
      unitRef="usd">2087000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfNC01LTEtMS0xMDU5OTQ_972d8d7d-400e-4baf-93c0-cbc9971030b1"
      unitRef="usd">17000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfNC03LTEtMS0xMDU5OTQ_1337986b-1713-42a0-b952-b0f3e5fd5ff0"
      unitRef="usd">-26000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfNy01LTEtMS0xMDU5OTQ_a17901b4-8954-4fd5-92e6-f4fe32b5b7b6"
      unitRef="usd">154000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfNy03LTEtMS0xMDU5OTQ_6e951717-1172-477c-be74-e845d28ef57e"
      unitRef="usd">503000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfOC01LTEtMS0xMDU5OTQ_4d9e9153-fa2a-42b6-98af-b5e316214316"
      unitRef="usd">1066000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfOC03LTEtMS0xMDU5OTQ_cf071971-c444-4257-ab44-542bc8cc120b"
      unitRef="usd">2127000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTAtNS0xLTEtMTA1OTk0_c4214a0e-73fd-4ee3-a6ae-cf113a3ad2f5"
      unitRef="usd">1220000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTAtNy0xLTEtMTA1OTk0_7e6aaad2-218d-44cd-ab63-d22a01103822"
      unitRef="usd">2630000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTEtNS0xLTEtMTA1OTk0_fc77c73e-1352-48e9-b2b6-c5f6b399c404"
      unitRef="usd">-1203000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTEtNy0xLTEtMTA1OTk0_eee18871-7c9f-48d1-add9-013a21f0e835"
      unitRef="usd">-2656000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTQtNS0xLTEtMTA1OTk0_39da064b-ee5a-4da2-b123-2fcb13c57fb4"
      unitRef="usd">123000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTQtNy0xLTEtMTA1OTk0_895ad3b8-acd0-4205-b626-37620bfd266c"
      unitRef="usd">184000</us-gaap:InterestExpense>
    <us-gaap:OtherNonoperatingIncome
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTctNS0xLTEtMTA1OTk0_d2887d0b-8104-4f12-a643-037d4f337407"
      unitRef="usd">0</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTctNy0xLTEtMTA1OTk0_a01fbeb1-d2ca-45a1-a878-12cb3855c2f9"
      unitRef="usd">30000</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingExpense
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTktNS0xLTEtMTA1OTk0_bcb5e3a5-07d1-434a-99d0-666435fe6057"
      unitRef="usd">7000</us-gaap:OtherNonoperatingExpense>
    <us-gaap:OtherNonoperatingExpense
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMTktNy0xLTEtMTA1OTk0_b789a2a6-ef2d-4c06-9f04-2f96a997c38e"
      unitRef="usd">11000</us-gaap:OtherNonoperatingExpense>
    <us-gaap:NetIncomeLoss
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjMtNS0xLTEtMTA1OTk0_bbe82126-4563-4ebc-bd92-6f7b4a33cd07"
      unitRef="usd">-1333000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjMtNy0xLTEtMTA1OTk0_362e63f0-cb8a-40ff-9244-700ed8d8744e"
      unitRef="usd">-2821000</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjYtNS0xLTEtMTA1OTk0_984c5820-2aa9-4517-8a87-37b084d19dea"
      unitRef="usdPerShare">-0.08</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjYtNS0xLTEtMTA1OTk0_a2b8839c-8f22-43de-87f1-29965d2c4e45"
      unitRef="usdPerShare">-0.08</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjYtNy0xLTEtMTA1OTk0_9b7ae595-03df-4fe8-88ae-5cb9b086bc7b"
      unitRef="usdPerShare">-0.44</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjYtNy0xLTEtMTA1OTk0_e03d132b-68b9-4273-af66-c4ce124b045f"
      unitRef="usdPerShare">-0.44</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjktNS0xLTEtMTA1OTk0_8f69763a-1208-454a-8cb9-cdfbef1c7200"
      unitRef="shares">16172000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjktNS0xLTEtMTA1OTk0_dc0374f2-5f2d-491e-944f-0a9992b31a70"
      unitRef="shares">16172000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjktNy0xLTEtMTA1OTk0_2ca76e99-3415-4f9b-993f-d7c7c98411cd"
      unitRef="shares">6437000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8xOS9mcmFnOjQxY2EwMzQ1Yzg0YTQyNzdhMGY5NjI5YzA1NTA5NTRjL3RhYmxlOjkwNDZmOWUwZDM2NTRkNjI4OWU5MjA2MWZlOTJhZWZjL3RhYmxlcmFuZ2U6OTA0NmY5ZTBkMzY1NGQ2Mjg5ZTkyMDYxZmU5MmFlZmNfMjktNy0xLTEtMTA1OTk0_7b5002ab-045c-442a-8bca-ef932b0f2055"
      unitRef="shares">6437000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:SharesOutstanding
      contextRef="i9a7d1794a8104661add5e63b5c25fdba_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMy0yLTEtMS0xMDU5OTQ_c94ac5a6-59b0-4f2c-9576-d86aef14254c"
      unitRef="shares">876000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i9a7d1794a8104661add5e63b5c25fdba_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMy00LTEtMS0xMDU5OTQ_4a65cd49-f6b2-4940-9b5a-f8347a9c4584"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i86b320633b8748dc85a9f088e696b620_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMy02LTEtMS0xMDU5OTQ_8a5b3a10-9f5d-42f4-b6bd-4333f5d8b99c"
      unitRef="shares">9849000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i86b320633b8748dc85a9f088e696b620_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMy04LTEtMS0xMDU5OTQ_94051d6b-2b66-47ce-b617-5d23d67fbbf6"
      unitRef="usd">1000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4706e2749453474f96b0f826c02bfff2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMy0xNC0xLTEtMTA1OTk0_845f55df-09d5-4f75-b5d1-62f3bee10176"
      unitRef="usd">148545000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if277bf1acdad484097554eff824cecce_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMy0xNi0xLTEtMTA1OTk0_14476a7e-5f18-4627-80a7-380e17a65b49"
      unitRef="usd">-3000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ibed7bbd35e4d4af19a3ebaa34015a605_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMy0xOC0xLTEtMTA1OTk0_7d6a0211-b734-4aa3-8bfc-bd00f3a344ff"
      unitRef="usd">-149020000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMy0yMC0xLTEtMTA1OTk0_c8afc15f-d257-412a-b166-75693fbb9774"
      unitRef="usd">-477000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="ia01de0e6925348a6b9aa1ff401e983fb_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfNS02LTEtMS0xMDU5OTQ_05351c47-d135-4e3e-bc46-63af2e6ab49b"
      unitRef="shares">1995000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="ia01de0e6925348a6b9aa1ff401e983fb_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfNS04LTEtMS0xMDU5OTQ_cf4f6847-94b6-4a4c-9303-c48810fa9cdb"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i39baef1b652d45b5bbb73cee230fd1b3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfNS0xNC0xLTEtMTA1OTk0_de2fd171-fd31-4fa4-b28a-14f225f99061"
      unitRef="usd">3024000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfNS0yMC0xLTEtMTA1OTk0_db100803-eb6f-48e8-87ff-130ec9e2139f"
      unitRef="usd">3025000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="ia01de0e6925348a6b9aa1ff401e983fb_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfNi02LTEtMS0xMDU5OTQ_c4dcd4e2-bbba-425b-9f46-48f994251ee7"
      unitRef="shares">7400000</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt
      contextRef="i39baef1b652d45b5bbb73cee230fd1b3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfNi0xNC0xLTEtMTA1OTk0_150b05c8-8681-4dec-a7fe-086f5404656b"
      unitRef="usd">1716000</us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfNi0yMC0xLTEtMTA1OTk0_b9c5d425-c156-4259-9ecf-b13c5267390f"
      unitRef="usd">1716000</us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i39baef1b652d45b5bbb73cee230fd1b3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTEtMTQtMS0xLTEwNTk5NA_fc9eebd7-4ec4-4b8e-8f03-088a9d49a3ff"
      unitRef="usd">26000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTEtMjAtMS0xLTEwNTk5NA_b285298d-c95e-4e07-ba89-9a274c83ccf8"
      unitRef="usd">26000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockholdersEquity
      contextRef="i332087598fc94b48b75fa88d7e970e04_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTItMTgtMS0xLTEyMzQyOA_2d5a693d-7266-4f2b-98df-d708aec36562"
      unitRef="usd">-2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie9e52c1c012145bc88ceb201078bc021_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTItMjAtMS0xLTEyMzQyOA_a83e17c0-1a4f-4850-bde0-e890a0e061e7"
      unitRef="usd">-2000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i79abf764b10649c79bfbc657c61a378f_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTItMTgtMS0xLTEwNTk5NA_7d986450-83dc-4555-a380-b6f5806ac015"
      unitRef="usd">-1333000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTItMjAtMS0xLTEwNTk5NA_65c63f3e-de91-4afb-a4ba-36ddee8a94b0"
      unitRef="usd">-1333000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i5d6b6b1ab0d3414b98b494f103de997a_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTMtMi0xLTEtMTA1OTk0_417d0399-658c-4199-8cd6-7b8b93279ac7"
      unitRef="shares">876000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i5d6b6b1ab0d3414b98b494f103de997a_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTMtNC0xLTEtMTA1OTk0_42fd81a8-4b88-4521-8561-01fc97cf1d96"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i3b7929a1a0cc4899a09a752d8c4797b5_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTMtNi0xLTEtMTA1OTk0_ebe0fdd7-6da0-494a-bdbd-9dad340a05d9"
      unitRef="shares">19244000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i3b7929a1a0cc4899a09a752d8c4797b5_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTMtOC0xLTEtMTA1OTk0_6ff3d3d1-b759-4a81-824a-068a94349b39"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4f08e72e51384ba0bf2c79a56122cd78_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTMtMTQtMS0xLTEwNTk5NA_a5123876-749d-4896-82ed-542af1d9ce44"
      unitRef="usd">153311000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ibc3dff37f7264873822a9f182d2fdc74_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTMtMTYtMS0xLTEwNTk5NA_14f12a17-5610-451f-ac65-bfd6af604021"
      unitRef="usd">-3000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i602c31992dc94abbac78f92fe9a8b733_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTMtMTgtMS0xLTEwNTk5NA_819b2b08-ad3d-4ce8-bd2b-879f538cc781"
      unitRef="usd">-150355000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjVkYmZiZDkxYWVjNjRhNmFhZjVhZmNkZDVkNjlkYmJmL3RhYmxlcmFuZ2U6NWRiZmJkOTFhZWM2NGE2YWFmNWFmY2RkNWQ2OWRiYmZfMTMtMjAtMS0xLTEwNTk5NA_8dfb2eb5-24e1-4a34-b73e-c99b9bf2e538"
      unitRef="usd">2955000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i4eba2aa2e4a24070b5b0760556ca79ff_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMy0yLTEtMS0xMDU5OTQ_b516887b-1021-4f46-ba54-ce021d22c6fd"
      unitRef="shares">876000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i4eba2aa2e4a24070b5b0760556ca79ff_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMy00LTEtMS0xMDU5OTQ_9a563063-ac35-4758-b1de-dc7f938f918a"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i342384a9b8414f62ba8abbd02dd973c2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMy02LTEtMS0xMDU5OTQ_8ef132c2-f01c-4502-bba7-500321a4ef31"
      unitRef="shares">6368000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i342384a9b8414f62ba8abbd02dd973c2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMy04LTEtMS0xMDU5OTQ_5b9815a0-6418-462f-a8d8-2fadb6152cfc"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id7901ceeb87c4c8ca66d7c2df401ff8e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMy0xNC0xLTEtMTA1OTk0_59f86850-93d9-42c0-b912-4dee5b8393de"
      unitRef="usd">144953000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i83811faacbc549d98bb80d2341326cbc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMy0xNi0xLTEtMTA1OTk0_3ee9f8cc-bb01-489d-83f0-4e335cfefb93"
      unitRef="usd">-3000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i635a8ef9501848789b80c3f87ba8b243_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMy0xOC0xLTEtMTA1OTk0_c9509e8e-0d0c-4db9-82a1-381a63cd7dc9"
      unitRef="usd">-138741000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9d29fd435d4542aa8f23d9515714b4a6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMy0yMC0xLTEtMTA1OTk0_12e7f8bb-b329-4e0d-b040-444b3322a875"
      unitRef="usd">6209000</us-gaap:StockholdersEquity>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="i556b1c8cb1cd47a1b87164f45d21cda2_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfOC02LTEtMS0xMDU5OTQ_a5b7e865-9337-44ce-93f6-81e76a5782ec"
      unitRef="shares">85000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="iceb86460e9e4433eb3750bfe1f3af88e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTItMTQtMS0xLTEwNTk5NA_0855f760-efd7-4a89-8b53-d773bfb72da5"
      unitRef="usd">44000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTItMjAtMS0xLTEwNTk5NA_2b979f86-aa1e-4902-98d1-94290224f3fa"
      unitRef="usd">44000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:NetIncomeLoss
      contextRef="i1195bc7655cb48ebb4f1b611e02f65b3_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTUtMTgtMS0xLTEwNTk5NA_f218ad89-03d0-4acb-98d6-f8d097940d8d"
      unitRef="usd">-2821000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTUtMjAtMS0xLTEwNTk5NA_3baa76ea-dd70-45d7-ae91-7ce672dff48e"
      unitRef="usd">-2821000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="iaab8650287eb45c28e38cc25ece6e62c_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTYtMi0xLTEtMTA1OTk0_2b737b54-896f-4ade-867a-e60e2bc947ef"
      unitRef="shares">876000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="iaab8650287eb45c28e38cc25ece6e62c_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTYtNC0xLTEtMTA1OTk0_f56b46a8-a333-4461-8413-eccdcd164b0c"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i12c0c720e2fc4cebb08ef4088d810276_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTYtNi0xLTEtMTA1OTk0_010ab902-c551-48bf-915d-d8460e2d77dc"
      unitRef="shares">6453000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i12c0c720e2fc4cebb08ef4088d810276_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTYtOC0xLTEtMTA1OTk0_a78aaf5c-309e-40a8-9714-a92d80f89a88"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic35168a23f0d42abbca5fc2abcd4f602_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTYtMTQtMS0xLTEwNTk5NA_d99eecbe-7d61-4aa5-a7c3-11d0d57d78ec"
      unitRef="usd">144997000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i15719debed6d4560b8e0f721b24395c9_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTYtMTYtMS0xLTEwNTk5NA_b6a09210-b275-4a47-80a3-6662a9f10563"
      unitRef="usd">-3000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i80ae409e01fb4b42ab86cd747db4c14c_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTYtMTgtMS0xLTEwNTk5NA_0c1f8dd2-e0ff-43a5-b32b-0e0c4eea3a45"
      unitRef="usd">-141562000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i466b5761fcc746f6b9e105f3ee815891_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yMi9mcmFnOjg2ODUyOTY0YWVhZDRiOWRhZGUyYmJjNDY0NjM4ZGU5L3RhYmxlOjA2ZGExNzlhZmE1ODRmYTE5MmMxN2EzNjU0ZTM1ZmIyL3RhYmxlcmFuZ2U6MDZkYTE3OWFmYTU4NGZhMTkyYzE3YTM2NTRlMzVmYjJfMTYtMjAtMS0xLTEwNTk5NA_ea5c701b-25ae-4e71-b66b-1db396bab9b3"
      unitRef="usd">3432000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMy01LTEtMS0xMDU5OTQ_3f6d0a15-6cfa-4280-a90e-acc4a0a5be5d"
      unitRef="usd">-1333000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMy03LTEtMS0xMDU5OTQ_8cac7432-2376-4965-9f8a-aca91375ce76"
      unitRef="usd">-2821000</us-gaap:NetIncomeLoss>
    <efoi:GainLossFromEmployeeRetentionTaxCredit
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfNS01LTEtMS0xMDU5OTQ_91e0b9cf-152f-4b53-a471-bdafba363c15"
      unitRef="usd">0</efoi:GainLossFromEmployeeRetentionTaxCredit>
    <efoi:GainLossFromEmployeeRetentionTaxCredit
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfNS03LTEtMS0xMDU5OTQ_70d74925-1a64-4539-af0d-a611c501a8b8"
      unitRef="usd">30000</efoi:GainLossFromEmployeeRetentionTaxCredit>
    <us-gaap:Depreciation
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfNy01LTEtMS0xMDU5OTQ_cc2bf044-0ac1-4bc5-b19f-3aa5368fe1b3"
      unitRef="usd">8000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfNy03LTEtMS0xMDU5OTQ_bebc7337-2c30-43db-be9c-352b279811a0"
      unitRef="usd">44000</us-gaap:Depreciation>
    <us-gaap:ShareBasedCompensation
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfOC01LTEtMS0xMDU5OTQ_c918d6d4-c570-46e0-8f40-e8631d9322dc"
      unitRef="usd">26000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfOC03LTEtMS0xMDU5OTQ_9ac2da5d-1adb-4971-a9ad-16f35134350d"
      unitRef="usd">44000</us-gaap:ShareBasedCompensation>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTAtNS0xLTEtMTA1OTk0_8036d17e-5aca-4fdc-98c8-416f01df152e"
      unitRef="usd">29000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTAtNy0xLTEtMTA1OTk0_97dd23e4-f034-4c3b-ad1d-04e55c362fa3"
      unitRef="usd">-9000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:InventoryWriteDown
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTEtNS0xLTEtMTA1OTk0_e8f57f83-be2b-4c28-b6e8-bca542c60992"
      unitRef="usd">-23000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTEtNy0xLTEtMTA1OTk0_d488a884-2ef5-4234-9e73-545c556038d5"
      unitRef="usd">129000</us-gaap:InventoryWriteDown>
    <efoi:IncreaseDecreaseInProvisionForWarranties
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTItNS0xLTEtMTA1OTk0_23d4fe50-6391-4ead-8b3f-ce2d960c57ab"
      unitRef="usd">-40000</efoi:IncreaseDecreaseInProvisionForWarranties>
    <efoi:IncreaseDecreaseInProvisionForWarranties
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTItNy0xLTEtMTA1OTk0_16a06888-7d53-42f1-bbb4-acaca9a9ce6d"
      unitRef="usd">-30000</efoi:IncreaseDecreaseInProvisionForWarranties>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTQtNS0xLTEtMTA1OTk0_49ef72be-79cc-4a07-affa-fb764d515a60"
      unitRef="usd">62000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTQtNy0xLTEtMTA1OTk0_fd517347-487e-4e20-a790-0e4665b18968"
      unitRef="usd">69000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTctNS0xLTEtMTA1OTk0_fec8aa97-eedf-466e-b6fd-04c725a2f640"
      unitRef="usd">496000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTctNy0xLTEtMTA1OTk0_dff87f8a-ee55-4d67-ba0f-b7c9951ecf8c"
      unitRef="usd">83000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTgtNS0xLTEtMTA1OTk0_a94e0c7d-4383-402a-aa0a-35ae1ac32d67"
      unitRef="usd">-562000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTgtNy0xLTEtMTA1OTk0_879f2394-96c5-4534-bc67-879512e869c1"
      unitRef="usd">-370000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInDepositOtherAssets
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTktNS0xLTEtMTA1OTk0_24c44be3-97a4-4fb5-95ad-1c6b077a383e"
      unitRef="usd">23000</us-gaap:IncreaseDecreaseInDepositOtherAssets>
    <us-gaap:IncreaseDecreaseInDepositOtherAssets
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMTktNy0xLTEtMTA1OTk0_3cf2a439-2b29-41ae-9be5-b6272fca8590"
      unitRef="usd">-12000</us-gaap:IncreaseDecreaseInDepositOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjAtNS0xLTEtMTA1OTk0_f502fcf8-2f89-4faa-8ac7-74bf14361cb7"
      unitRef="usd">-6000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjAtNy0xLTEtMTA1OTk0_555901f8-1858-4aea-8c05-8546bf8a0c63"
      unitRef="usd">-20000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjEtNS0xLTEtMTA1OTk0_e86c641d-44bd-48d4-b21c-8602636640c7"
      unitRef="usd">-27000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjEtNy0xLTEtMTA1OTk0_8a4ae19d-e3a1-4e8b-a95a-63f533df5d29"
      unitRef="usd">61000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjItNS0xLTEtMTA1OTk0_860ae137-0d59-4663-9a50-4559be73c64b"
      unitRef="usd">66000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjItNy0xLTEtMTA1OTk0_c4221a18-77b5-42ae-b178-6146592053a3"
      unitRef="usd">-211000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjMtNS0xLTEtMTA1OTk0_38f70a7c-7b39-4228-b1fa-b65822949273"
      unitRef="usd">0</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjMtNy0xLTEtMTA1OTk0_40d2fb55-955f-494b-9054-a1a52b3ee902"
      unitRef="usd">-268000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjQtNS0xLTEtMTA1OTk0_c529a307-b2f3-42cf-811e-94299ec6f009"
      unitRef="usd">150000</us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities>
    <us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjQtNy0xLTEtMTA1OTk0_50977bd6-4fce-495e-82a9-214dd288afba"
      unitRef="usd">118000</us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjUtNS0xLTEtMTA1OTk0_12c05f73-ada7-41c3-839f-3f99f0937f07"
      unitRef="usd">-1183000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjUtNy0xLTEtMTA1OTk0_74274431-ff19-4c24-9e26-049083c1a631"
      unitRef="usd">-2703000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjctNS0xLTEtMTA1OTk0_eb11285e-a5c4-49cf-a022-a5cc418aae01"
      unitRef="usd">0</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjctNy0xLTEtMTA1OTk0_8f937b13-9555-43d4-999f-3fdf46c58956"
      unitRef="usd">35000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjktNS0xLTEtMTA1OTk0_257c7ced-fe7e-422e-bc25-3d1da3bcddbe"
      unitRef="usd">0</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOmZhYzEzYjA3NmQwMDQyNzBhNzIwMTI2ZWQxNmQ4YjgxL3RhYmxlcmFuZ2U6ZmFjMTNiMDc2ZDAwNDI3MGE3MjAxMjZlZDE2ZDhiODFfMjktNy0xLTEtMTA1OTk0_403237a7-dc70-4348-8bbf-ba6b0a28b906"
      unitRef="usd">-35000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <efoi:ProceedsFromIssuanceOfCommonStockAndWarrants
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMy0xLTEtMS0xMDU5OTQ_8d7cffd2-dcc2-4d16-8081-44c145d4c108"
      unitRef="usd">3025000</efoi:ProceedsFromIssuanceOfCommonStockAndWarrants>
    <efoi:ProceedsFromIssuanceOfCommonStockAndWarrants
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMy0zLTEtMS0xMDU5OTQ_399ac9cd-dc52-4724-9b52-1f9984c3832c"
      unitRef="usd">0</efoi:ProceedsFromIssuanceOfCommonStockAndWarrants>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfNy0xLTEtMS0xMDU5OTQ_c4f1de9b-ed2e-40bf-b314-bc5d05900287"
      unitRef="usd">0</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfNy0zLTEtMS0xMDU5OTQ_ad504ae9-d8e6-483e-8a99-0a631386a8d8"
      unitRef="usd">1000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="i5a1e274029f04a2bb6408c3142d77ad7_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMTItMS0xLTEtMTE1Njcw_1836f05b-8d11-49da-90a6-f1b5598e008e"
      unitRef="usd">500000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="i1fb5e0ea729549988c25ee5f1b2a28a3_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMTItMy0xLTEtMTE1Njc4_95a5e6a7-f1ac-4f97-8820-9617cfa5e341"
      unitRef="usd">0</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="id87a1212102e49a0b20b08c6c1d7c45a_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMTItMS0xLTEtMTA1OTk0_fc813044-fbc9-4f80-8465-97497ad8a81a"
      unitRef="usd">0</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="iaf725f30e0884d85b2a81b9eb941f3b7_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMTItMy0xLTEtMTA1OTk0_aa45f671-9609-4630-a068-2d75772f02fe"
      unitRef="usd">615000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMTctMS0xLTEtMTA1OTk0_53f54e6b-7d33-4e6f-a79b-74c503ec43e8"
      unitRef="usd">-1093000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMTctMy0xLTEtMTA1OTk0_eb70e6ba-e9e6-457c-948c-f60a542aa63a"
      unitRef="usd">897000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMTgtMS0xLTEtMTA1OTk0_1bac26c0-cada-476c-92a5-4d0fd4453aef"
      unitRef="usd">1432000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMTgtMy0xLTEtMTA1OTk0_a56629d9-56be-49ff-b416-637878e45169"
      unitRef="usd">281000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMjItMS0xLTEtMTA1OTk0_bc9d97ee-88ee-40b6-882b-845408f73cb8"
      unitRef="usd">249000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMjItMy0xLTEtMTA1OTk0_60697d56-1471-426a-8ede-adf4b2243fd9"
      unitRef="usd">-2457000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMjMtMS0xLTEtMTA1OTk0_b453a323-6bb4-4176-9e17-66436593d1bf"
      unitRef="usd">52000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i9d29fd435d4542aa8f23d9515714b4a6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMjMtMy0xLTEtMTA1OTk0_aed2c20f-58e2-4f5e-a647-74b8de8c705d"
      unitRef="usd">2682000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMjQtMS0xLTEtMTA1OTk0_1e8629f0-9ec2-4b00-893f-b6f45a19e7d7"
      unitRef="usd">301000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i466b5761fcc746f6b9e105f3ee815891_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8yOC9mcmFnOjFjODAyMzYyYmJkOTRiMjE4YmUwZmI3YjkyZmFmOWNjL3RhYmxlOjg5ZjliZTAzODBkNjRiNDg4MjlhYmRhNmUzZTc5OWNiL3RhYmxlcmFuZ2U6ODlmOWJlMDM4MGQ2NGI0ODgyOWFiZGE2ZTNlNzk5Y2JfMjQtMy0xLTEtMTA1OTk0_103b6350-ac63-4599-a0ef-bded5bc87eaa"
      unitRef="usd">225000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:NatureOfOperations
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl8zNC9mcmFnOjdhMTY1YTJkZGI5YzQyMTY4MjYxM2ZjYmMyMWJiYzlhL3RleHRyZWdpb246N2ExNjVhMmRkYjljNDIxNjgyNjEzZmNiYzIxYmJjOWFfMTU1NA_47e147b4-e2fd-469d-b564-846bada01831">NATURE OF&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;OPERATIONS&lt;/span&gt;Energy Focus, Inc. engages primarily in the design, development, manufacturing, marketing and sale of energy-efficient lighting systems and controls. We develop, market and sell high quality light-emitting diode (&#x201c;LED&#x201d;) lighting and controls products in the commercial market and military maritime market (&#x201c;MMM&#x201d;), and began to expand our offerings into the consumer market in the fourth quarter of 2021. Our mission is to enable our customers to run their facilities, offices with greater energy efficiency, productivity, and human health and wellness through advanced LED retrofit solutions. Our goal is to be the human wellness lighting and LED technology and market leader for the most demanding applications where performance, quality, value, environmental impact and health are considered paramount. We specialize in LED lighting retrofit by replacing fluorescent, high-intensity discharge lighting and other types of lamps in institutional buildings for primarily indoor lighting applications with our innovative, high-quality commercial and military-grade tubular LED (&#x201c;TLED&#x201d;) products, as well as other LED and lighting control products for commercial and consumer applications. We are also evaluating adjacent technologies, including Gallium Nitride (&#x201c;GaN&#x201d;) based power supplies and additional market opportunities for energy solution products that support sustainability in our existing channels.</us-gaap:NatureOfOperations>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyNDc_45ad3e5d-0efa-48b8-9fdd-e14b964a86ab">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;BASIS OF PRESENTATION AND&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES&lt;/span&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Basis of presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The significant accounting policies of our Company, which are summarized below, are consistent with accounting principles generally accepted in the United States (&#x201c;U.S. GAAP&#x201d;) and reflect practices appropriate to the business in which we operate. Unless indicated otherwise, the information in the Notes to the Consolidated Financial Statements relates to our operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have prepared the accompanying financial data for the three months ended March&#160;31, 2023 and 2022 pursuant to the rules and regulations of the United States Securities and Exchange Commission. Certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The accompanying financial data and information should be read in conjunction with our Annual Report on Form 10-K for the year ended December&#160;31, 2022 (&#x201c;2022 Annual Report&#x201d;). The Condensed Consolidated Balance Sheet as of December&#160;31, 2022 has been derived from the audited consolidated financial statements at that date but does not include all of the information and footnotes required by U.S. GAAP for complete financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the opinion of management, the accompanying condensed consolidated financial statements contain all normal and recurring adjustments necessary to present fairly our Condensed Consolidated Balance Sheets as of March&#160;31, 2023 and December&#160;31, 2022, Condensed Consolidated Statements of Operations for the three months ended March&#160;31, 2023 and 2022, Condensed Consolidated Statements of Changes in Stockholders&#x2019; Equity for the three months ended March&#160;31, 2023 and 2022, and Condensed Consolidated Statements of Cash Flows for the three months ended March&#160;31, 2023 and 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Going Concern and Nasdaq Continued Listing Requirements Compliance&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Due to our financial performance as of March&#160;31, 2023 and December&#160;31, 2022, including net losses of $1.3 million  for the three months ended March 31, 2023 and $10.3 million for the twelve months ended December 31, 2022, and total cash used in operating activities of  $1.2 million for the three months ended March 31, 2023 and $6.7 million for the twelve months ended December 31, 2022, we determined that substantial doubt about our ability to continue as a going concern continues to exist at March&#160;31, 2023. As a result of restructuring actions and initiatives, we have tailored our operating expenses to be more in line with our expected sales volumes; however, we continue to incur losses and have a substantial accumulated deficit.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Additionally, global supply chain and logistics constraints are impacting our inventory purchasing strategy, as we seek to manage both shortages of available components and longer lead times in obtaining components while balancing the development and implementation of an inventory reduction plan. Disruptions in global logistics networks are also impacting our lead times and ability to efficiently and cost-effectively transport products from our third-party suppliers to our facility. As a result, we will continue to review and pursue selected external funding sources to ensure adequate financial resources to execute across the timelines required to achieve these objectives including, but not limited to, the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;obtaining financing from traditional or non-traditional investment capital organizations or individuals; &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;obtaining funding from the sale of our common stock or other equity or debt instruments; and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;obtaining debt financing with lending terms that more closely match our business model and capital needs.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There can be no assurance that we will obtain funding on acceptable terms, in a timely fashion, or at all. Obtaining additional funding contains risks, including:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;additional equity financing may not be available to us on satisfactory terms, particularly in light of the current price of our common stock, and any equity we are able to issue could lead to dilution for current stockholders and have rights, preferences and privileges senior to our common stock;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;loans or other debt instruments may have terms or conditions, such as interest rate, restrictive covenants, conversion features, refinancing demands, and control or revocation provisions, which are not acceptable to management or the Company&#x2019;s Board of Directors (the &#x201c;Board of Directors&#x201d;); and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;the current environment in the capital markets and volatile interest rates, combined with our capital constraints, may prevent us from being able to obtain adequate debt financing.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:2.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Along with the new additions to the Board of Directors, we hired a permanent Chief Executive Officer in September 2022, following a period of interim leadership by our current Lead Independent Director after the departure of our previous Chief Executive Officer in February 2022 and Chief Financial Officer and Chief Operating Officer in May 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Considering both quantitative and qualitative information, we continue to believe that the combination of our plans to ensure adequate external funding, timely re-organizational actions, current financial position, liquid resources, obligations due or anticipated within the next year, development and implementation of an excess inventory reduction plan, plans and initiatives in our research and development, product development and sales and marketing, and development of potential channel partnerships, if adequately executed, could provide us with an ability to finance our operations through the next twelve months and may mitigate the substantial doubt about our ability to continue as a going concern.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our Common Stock is listed on the Nasdaq Capital Market, which has as one of its continued listing requirements a minimum bid price of at least $1.00 per share. Recently our Common Stock has traded significantly below $1.00 per share. On August 23, 2022, we received a letter from the Listing Qualifications Staff (the &#x201c;Staff&#x201d;) of The Nasdaq Stock Market notifying us that we were no longer in compliance with the requirement to maintain a minimum closing bid price of $1.00 per share, as set forth in Nasdaq Listing Rule 5550(a)(2) (the &#x201c;Bid Price Rule&#x201d;), because the closing bid price for our common stock was below the minimum $1.00 per share for 30 consecutive business days. In accordance with Nasdaq Listing Rule 5810(c)(3)(A), we were provided an initial period of 180 calendar days, or until February 20, 2023, to regain compliance with the Bid Price Rule. During the initial compliance period, our Common Stock continued to trade on the Nasdaq Capital Market, but did not satisfy the Bid Price Rule.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November 16, 2022, we received a letter from the Staff notifying us that we were no longer in compliance with Nasdaq Listing Rule 5550(b)(1), which requires listed companies to maintain stockholders&#x2019; equity of at least $2.5 million if they do not meet the alternative compliance standards relating to the market value of listed securities or net income from continuing operations (the &#x201c;Minimum Stockholders&#x2019; Equity Rule&#x201d;). Our Form 10-Q for the Quarterly Period Ended September 30, &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022 filed on November 10, 2022 reflected that our stockholders&#x2019; equity as of September 30, 2022 was $1.5 million. Based on our timely submission of our plan to regain compliance (the &#x201c;Plan&#x201d;), Nasdaq granted us an extension through May 15, 2023 to regain compliance with the Minimum Stockholders&#x2019; Equity Rule.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 21, 2023, we received written notification (the &#x201c;Bid Price Notification&#x201d;) from the Staff stating that we had not regained compliance with the Bid Price Rule and our common stock is subject to delisting from Nasdaq. On February 24, 2023, we submitted a request for a hearing before the Nasdaq Hearings Panel (the &#x201c;Panel&#x201d;) to appeal the delisting (the &#x201c;Appeal&#x201d;).  Under Nasdaq rules, the delisting of the Company&#x2019;s common stock was stayed during the pendency of the Appeal and, during such time, the Company&#x2019;s common stock continued to be listed on Nasdaq.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 28, 2023, the Company received written notification (the &#x201c;Additional Staff Determination&#x201d;) from the Staff stating that (i) following the Bid Price Notification, and in accordance with Listing Rule 5810(c)(2)(A), Nasdaq is no longer permitted to consider the stockholders&#x2019; equity compliance plan, (ii) the Additional Staff Determination serves as an additional basis for delisting the Company&#x2019;s common stock from Nasdaq and (iii) the Panel will consider the Additional Staff Determination in rendering a determination regarding the continued listing of the Company&#x2019;s common stock on Nasdaq.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April 6, 2023, the Company participated in the Appeal before the Panel. The Company provided an update to the Panel on the Company&#x2019;s substantial progress made towards the previously submitted Stockholders&#x2019; Equity Requirement Plan during the three months ended March 31, 2023, and requested the Panel grant the Company an exception to (1) re-allow the previously granted exception until May 15, 2023 for the Company to regain compliance with the Stockholders&#x2019; Equity Requirement and (2) grant an exception allowing the Company up to 180 days following the Bid Price Notification to regain compliance with the Bid Price Requirement by effecting a reverse stock split following stockholder approval at the Annual Meeting. On May 1, 2023, the Panel granted the Company&#x2019;s request to continue the Company&#x2019;s listing on Nasdaq, subject to the following conditions: (1) on or before May 15, 2023, the Company shall file with the SEC its quarterly report for the three months ended March 31, 2023 demonstrating compliance with the Stockholders&#x2019; Equity Requirement and (2) on or before July 7, 2023, the Company shall demonstrate compliance with the Bid Price Rule. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of the date of this Quarterly Report, the Company believes it has regained compliance with the Stockholders&#x2019; Equity Requirement for continued listing on the Nasdaq Capital Market. However, there can be no assurance that the Appeal will be successful or that the Company will be able to regain compliance with the Bid Price Rule or maintain compliance with the Stockholders&#x2019; Equity Requirement, Bid Price Rule, or other Nasdaq listing requirements. If the Company fails to regain compliance with Nasdaq&#x2019;s continued listing standards in accordance with the Panel&#x2019;s decision, the Company&#x2019;s common stock will be subject to delisting from Nasdaq.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Use of estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of financial statements in accordance with U.S. GAAP requires management to make estimates and assumptions that affect the amounts reported in our financial statements and accompanying notes. Management bases its estimates on historical experience and various other assumptions believed to be reasonable. Although these estimates are based on management&#x2019;s best knowledge of current events and actions that may impact us in the future, actual results may vary from the estimates. Estimates include, but are not limited to, the establishment of reserves for accounts receivable, sales returns, inventory obsolescence and warranty claims; the useful lives of property and equipment; valuation allowance for net deferred taxes; and stock-based compensation. The Company began using estimates for its calculation of impairment to accounts receivable under Accounting Standards Codification (&#x201c;ASC&#x201d;) 326 commencing in 2023. In addition, estimates and assumptions associated with the determination of the fair value of financial instruments and evaluation of long-lived assets for impairment requires considerable judgment. Actual results could differ from those estimates and such differences could be material.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net sales include revenues from sales of products and shipping and handling charges, net of estimates for product returns. Revenue is measured at the amount of consideration we expect to receive in exchange for the transferred products. We recognize revenue at the point in time when we transfer the promised products to the customer and the customer obtains control over the products. Distributors&#x2019; obligations to us are not contingent upon the resale of our products. We recognize revenue for shipping and handling charges at the time the goods are shipped to the customer, and the costs of outbound freight are included in cost of sales. We provide for product returns based on historical return rates. While we incur costs for &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;sales commissions to our sales employees and outside agents, we recognize commission costs concurrent with the related revenue, as the amortization period is less than one year. We do not incur any other incremental costs to obtain contracts with our customers. Our product warranties are assurance-type warranties, which promise the customer that the products are as specified in the contract. Therefore, the product warranties are not a separate performance obligation and are accounted for as described below. Sales taxes assessed by governmental authorities are accounted for on a net basis and are excluded from net sales.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides a disaggregation of product net sales for the periods presented (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three months ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;321&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;MMM products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;609&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;927&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;930&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,061&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Accounts Receivable&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our trade accounts receivable consists of amounts billed to and currently due from customers. Our customers are concentrated in the United States. In the normal course of business, we extend unsecured credit to our customers related to the sale of our products. Credit is extended to customers based on an evaluation of the customer&#x2019;s financial condition and the amounts due are stated at their estimated net realizable value. We maintain allowances for sales returns and doubtful accounts receivable to provide for the estimated number of account receivables that will not be collected. The allowance is based on an assessment of forward looking customer credit-worthiness and historical payment experience, the age of outstanding receivables, and performance guarantees to the extent applicable. Past due amounts are written off when our internal collection efforts have been unsuccessful, and payments subsequently received on such receivables are credited to the allowance for doubtful accounts. We do not generally require collateral from our customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our standard payment terms with customers are net 30 days from the date of shipment, and we do not generally offer extended payment terms to our customers, but exceptions are made in some cases for major customers or with particular orders. Accordingly, we do not adjust trade accounts receivable for the effects of financing, as we expect the period between the transfer of product to the customer and the receipt of payment from the customer to be in line with our standard payment terms.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Through November 2022, we utilized a third-party account receivable insurance program with a very high credit worthy insurance company where we had the large majority of the accounts receivable arising during the policy term insured with a portion of self-retention. This third party also provided credit-worthiness ratings and metrics that significantly assisted us in evaluating the credit-worthiness of both existing and new customers.  Although the insurance policy is no longer in place, all invoices issued under the previous coverage period are still covered under the policy. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On January 1, 2023, the Company adopted ASC 326, Measurement of Credit Losses on Financial Instruments (&#x201c;CECL&#x201d;). The standard adds to U.S. GAAP an impairment model known as the CECL model, which is based on expected losses rather than incurred losses. This standard only impacts the Company&#x2019;s trade receivables. The Company decided to use the roll rate method of valuing its reserve for trade receivables. The reserve is based on a careful review of claims made during 2022 against unpaid invoices. This resulted in a $2.6&#160;thousand adjustment to Retained Earnings as of December 31, 2022 and a charge of $12&#160;thousand to bad debt expense in the first quarter of 2023.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pursuant to ASC 606, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, contract assets and contract liabilities as of the beginning and ending of the reporting periods must be disclosed. Below is the breakout of the Company&#x2019;s contract assets for such periods:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.896%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.170%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross Accounts Receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Allowance for Doubtful Accounts&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(58)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net Accounts Receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;909&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;445&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Geographic information&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;All of our long-lived fixed assets are located in the United States. For the three months ended March 31, 2023, 1% of sales were attributable to customers outside the United States. For the three months ended March 31, 2022, 2% of sales were attributable to customers outside the United States. The geographic location of our net sales is derived from the destination to which we ship the product.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net loss per share &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic loss per share is computed by dividing net loss available to common stockholders by the weighted average number of shares of common stock outstanding during the period, excluding the effects of any potentially dilutive securities. Diluted loss per share gives effect to all dilutive potential shares of common stock outstanding during the period. Dilutive potential shares of common stock consist of incremental shares upon the exercise of stock options, warrants and convertible securities, unless the effect would be anti-dilutive.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents a reconciliation of basic and diluted loss per share computations (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.314%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.851%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.168%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,333)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,821)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic and diluted weighted average shares of common stock outstanding &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a result of the net loss we incurred for the three months ended March 31, 2023, convertible securities representing approximately 175&#160;thousand shares of common stock were excluded from the basic loss per share calculation because their inclusion would have been anti-dilutive. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a result of the net loss we incurred for the three months ended March 31, 2022, warrants and convertible securities representing approximately 16&#160;thousand and 175&#160;thousand shares of common stock, respectively, were excluded from the basic loss per share calculation because their inclusion would have been anti-dilutive. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Product warranties&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We warrant our commercial and MMM LED products and controls for periods generally ranging from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAxNg_16e1c2b7-1b11-4993-a4ef-f853eb7486b6"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAxNg_5f339c5e-7af8-42cc-a026-46659e81cb9d"&gt;five&lt;/span&gt;&lt;/span&gt; to ten years. Warranty settlement costs consist of actual amounts expensed for warranty, which are largely a result of the cost of replacement products or rework services provided to our customers. A liability for the estimated future costs under product warranties is maintained for products under warranty based on the actual claims incurred to date and the estimated nature, frequency, and costs of future claims. As warranty coverage from prior period sales expire, previous accruals are released.  These estimates are inherently uncertain and changes to our historical or projected experience may cause material changes to our warranty reserves in the future. We continuously review the assumptions related to the adequacy of our warranty reserve, including product failure rates, and make adjustments to the existing warranty liability when there are changes to these estimates or the underlying replacement product costs, or the warranty period expires.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes warranty activity for the periods presented (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at beginning of period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;183&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Warranty accruals for current period sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Adjustments to existing warranties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(39)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;In kind settlements made during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Accrued warranty reserve at end of period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value hierarchy prioritizes the inputs to valuation techniques used to measure fair value, giving the highest priority to unadjusted quoted prices in active markets for identical assets or liabilities (Level 1 measurements) and the lowest priority to unobservable inputs (Level 3 measurements). The three levels of the fair value hierarchy are described below. We classify the inputs used to measure fair value into the following hierarchy:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.509%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:89.291%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Unadjusted quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Unadjusted quoted prices in active markets for similar assets or liabilities, or unadjusted quoted prices for identical or similar assets or liabilities in markets that are not active, or inputs other than quoted prices that are observable for the asset or liability.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Unobservable inputs for the asset or liability.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amounts of certain financial instruments including cash, accounts receivable, accounts payable, and accrued liabilities approximate fair value due to their short maturities. Based on borrowing rates currently available to us for loans with similar terms, the carrying value of borrowings under our revolving credit facilities also approximates fair value.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A financial instrument&#x2019;s level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. In determining the appropriate levels, we perform a detailed analysis of the assets and liabilities whose fair value is measured on a recurring basis. We review and reassess the fair value hierarchy classifications on a quarterly basis. Changes from one quarter to the next related to the observability of inputs in a fair value measurement may result in a reclassification between fair value hierarchy levels. There were no reclassifications for all periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Certain risks and concentrations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have certain customers whose net sales individually represented 10% or more of our total net sales, or whose net trade accounts receivable balance individually represented 10% or more of our total net trade accounts receivable; we have certain suppliers, which individually represent 10% or more of our total purchases, or whose trade accounts payable balance individually represented 10% or more of our total trade accounts payable balance, as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the three months ended March 31, 2023, sales to our primary distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a distributor to the U.S. Department of Defense, accounted for approximately 22%, 27%, and 11% of net sales, respectively. When sales for our top military customers are combined, total net sales of military products comprised approximately 49% of net sales for the same period. For the three months ended March 31, 2022, sales to our primary distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a commercial building systems provider, accounted for approximately 15%, 21%, and 19% of net sales, respectively. When sales to our primary distributor for the U.S. Navy are combined with sales to shipbuilders for the U.S. Navy, total net sales of products for the U.S. Navy comprised approximately 37% of net sales for the same period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a distributor to the U.S. Department of Defense, accounted for approximately 32%, 22%, and 17% of net trade accounts receivable, respectively, at March&#160;31, 2023. At December&#160;31, 2022, a distributor to the U.S. Department of Defense accounted for 25% of our net trade accounts receivable, and when combined with our net trade accounts receivable to shipbuilders for the U.S. Navy, total net accounts receivable related to U.S. Navy sales is 30% of our net trade accounts receivable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;No one supplier accounted for more than 10% of our total expenditures for the three months ended March&#160;31, 2023. For the three months ended March 31, 2022, one offshore supplier accounted for approximately 19% of total expenditures.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At March&#160;31, 2023 and December&#160;31, 2022, one offshore supplier accounted for approximately 36% of our trade accounts payable balance. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Recent adopted accounting standard&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2016, the Financial Accounting Standards Board issued Accounting Standard Update No. 2016-13, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which significantly changes the accounting for credit losses on instruments within its scope. The new guidance introduces an approach based on expected losses to estimate credit losses on certain financial instruments, including trade receivables, and requires an entity to recognize an allowance based on its estimate of expected credit losses rather than incurred losses. For smaller reporting companies, this standard became effective for interim and annual periods starting after December 15, 2022, and has been adopted by the Company. The adoption of this guidance did not have a material impact on our consolidated financial position or results of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyMzM_5cacbdd7-1583-47ed-8228-7b4ffb7d3df7">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Basis of presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The significant accounting policies of our Company, which are summarized below, are consistent with accounting principles generally accepted in the United States (&#x201c;U.S. GAAP&#x201d;) and reflect practices appropriate to the business in which we operate. Unless indicated otherwise, the information in the Notes to the Consolidated Financial Statements relates to our operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have prepared the accompanying financial data for the three months ended March&#160;31, 2023 and 2022 pursuant to the rules and regulations of the United States Securities and Exchange Commission. Certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The accompanying financial data and information should be read in conjunction with our Annual Report on Form 10-K for the year ended December&#160;31, 2022 (&#x201c;2022 Annual Report&#x201d;). The Condensed Consolidated Balance Sheet as of December&#160;31, 2022 has been derived from the audited consolidated financial statements at that date but does not include all of the information and footnotes required by U.S. GAAP for complete financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the opinion of management, the accompanying condensed consolidated financial statements contain all normal and recurring adjustments necessary to present fairly our Condensed Consolidated Balance Sheets as of March&#160;31, 2023 and December&#160;31, 2022, Condensed Consolidated Statements of Operations for the three months ended March&#160;31, 2023 and 2022, Condensed Consolidated Statements of Changes in Stockholders&#x2019; Equity for the three months ended March&#160;31, 2023 and 2022, and Condensed Consolidated Statements of Cash Flows for the three months ended March&#160;31, 2023 and 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Going Concern and Nasdaq Continued Listing Requirements Compliance&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Due to our financial performance as of March&#160;31, 2023 and December&#160;31, 2022, including net losses of $1.3 million  for the three months ended March 31, 2023 and $10.3 million for the twelve months ended December 31, 2022, and total cash used in operating activities of  $1.2 million for the three months ended March 31, 2023 and $6.7 million for the twelve months ended December 31, 2022, we determined that substantial doubt about our ability to continue as a going concern continues to exist at March&#160;31, 2023. As a result of restructuring actions and initiatives, we have tailored our operating expenses to be more in line with our expected sales volumes; however, we continue to incur losses and have a substantial accumulated deficit.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Additionally, global supply chain and logistics constraints are impacting our inventory purchasing strategy, as we seek to manage both shortages of available components and longer lead times in obtaining components while balancing the development and implementation of an inventory reduction plan. Disruptions in global logistics networks are also impacting our lead times and ability to efficiently and cost-effectively transport products from our third-party suppliers to our facility. As a result, we will continue to review and pursue selected external funding sources to ensure adequate financial resources to execute across the timelines required to achieve these objectives including, but not limited to, the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;obtaining financing from traditional or non-traditional investment capital organizations or individuals; &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;obtaining funding from the sale of our common stock or other equity or debt instruments; and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;obtaining debt financing with lending terms that more closely match our business model and capital needs.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There can be no assurance that we will obtain funding on acceptable terms, in a timely fashion, or at all. Obtaining additional funding contains risks, including:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;additional equity financing may not be available to us on satisfactory terms, particularly in light of the current price of our common stock, and any equity we are able to issue could lead to dilution for current stockholders and have rights, preferences and privileges senior to our common stock;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;loans or other debt instruments may have terms or conditions, such as interest rate, restrictive covenants, conversion features, refinancing demands, and control or revocation provisions, which are not acceptable to management or the Company&#x2019;s Board of Directors (the &#x201c;Board of Directors&#x201d;); and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;the current environment in the capital markets and volatile interest rates, combined with our capital constraints, may prevent us from being able to obtain adequate debt financing.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:2.25pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Along with the new additions to the Board of Directors, we hired a permanent Chief Executive Officer in September 2022, following a period of interim leadership by our current Lead Independent Director after the departure of our previous Chief Executive Officer in February 2022 and Chief Financial Officer and Chief Operating Officer in May 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Considering both quantitative and qualitative information, we continue to believe that the combination of our plans to ensure adequate external funding, timely re-organizational actions, current financial position, liquid resources, obligations due or anticipated within the next year, development and implementation of an excess inventory reduction plan, plans and initiatives in our research and development, product development and sales and marketing, and development of potential channel partnerships, if adequately executed, could provide us with an ability to finance our operations through the next twelve months and may mitigate the substantial doubt about our ability to continue as a going concern.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our Common Stock is listed on the Nasdaq Capital Market, which has as one of its continued listing requirements a minimum bid price of at least $1.00 per share. Recently our Common Stock has traded significantly below $1.00 per share. On August 23, 2022, we received a letter from the Listing Qualifications Staff (the &#x201c;Staff&#x201d;) of The Nasdaq Stock Market notifying us that we were no longer in compliance with the requirement to maintain a minimum closing bid price of $1.00 per share, as set forth in Nasdaq Listing Rule 5550(a)(2) (the &#x201c;Bid Price Rule&#x201d;), because the closing bid price for our common stock was below the minimum $1.00 per share for 30 consecutive business days. In accordance with Nasdaq Listing Rule 5810(c)(3)(A), we were provided an initial period of 180 calendar days, or until February 20, 2023, to regain compliance with the Bid Price Rule. During the initial compliance period, our Common Stock continued to trade on the Nasdaq Capital Market, but did not satisfy the Bid Price Rule.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November 16, 2022, we received a letter from the Staff notifying us that we were no longer in compliance with Nasdaq Listing Rule 5550(b)(1), which requires listed companies to maintain stockholders&#x2019; equity of at least $2.5 million if they do not meet the alternative compliance standards relating to the market value of listed securities or net income from continuing operations (the &#x201c;Minimum Stockholders&#x2019; Equity Rule&#x201d;). Our Form 10-Q for the Quarterly Period Ended September 30, &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2022 filed on November 10, 2022 reflected that our stockholders&#x2019; equity as of September 30, 2022 was $1.5 million. Based on our timely submission of our plan to regain compliance (the &#x201c;Plan&#x201d;), Nasdaq granted us an extension through May 15, 2023 to regain compliance with the Minimum Stockholders&#x2019; Equity Rule.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 21, 2023, we received written notification (the &#x201c;Bid Price Notification&#x201d;) from the Staff stating that we had not regained compliance with the Bid Price Rule and our common stock is subject to delisting from Nasdaq. On February 24, 2023, we submitted a request for a hearing before the Nasdaq Hearings Panel (the &#x201c;Panel&#x201d;) to appeal the delisting (the &#x201c;Appeal&#x201d;).  Under Nasdaq rules, the delisting of the Company&#x2019;s common stock was stayed during the pendency of the Appeal and, during such time, the Company&#x2019;s common stock continued to be listed on Nasdaq.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 28, 2023, the Company received written notification (the &#x201c;Additional Staff Determination&#x201d;) from the Staff stating that (i) following the Bid Price Notification, and in accordance with Listing Rule 5810(c)(2)(A), Nasdaq is no longer permitted to consider the stockholders&#x2019; equity compliance plan, (ii) the Additional Staff Determination serves as an additional basis for delisting the Company&#x2019;s common stock from Nasdaq and (iii) the Panel will consider the Additional Staff Determination in rendering a determination regarding the continued listing of the Company&#x2019;s common stock on Nasdaq.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April 6, 2023, the Company participated in the Appeal before the Panel. The Company provided an update to the Panel on the Company&#x2019;s substantial progress made towards the previously submitted Stockholders&#x2019; Equity Requirement Plan during the three months ended March 31, 2023, and requested the Panel grant the Company an exception to (1) re-allow the previously granted exception until May 15, 2023 for the Company to regain compliance with the Stockholders&#x2019; Equity Requirement and (2) grant an exception allowing the Company up to 180 days following the Bid Price Notification to regain compliance with the Bid Price Requirement by effecting a reverse stock split following stockholder approval at the Annual Meeting. On May 1, 2023, the Panel granted the Company&#x2019;s request to continue the Company&#x2019;s listing on Nasdaq, subject to the following conditions: (1) on or before May 15, 2023, the Company shall file with the SEC its quarterly report for the three months ended March 31, 2023 demonstrating compliance with the Stockholders&#x2019; Equity Requirement and (2) on or before July 7, 2023, the Company shall demonstrate compliance with the Bid Price Rule. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of the date of this Quarterly Report, the Company believes it has regained compliance with the Stockholders&#x2019; Equity Requirement for continued listing on the Nasdaq Capital Market. However, there can be no assurance that the Appeal will be successful or that the Company will be able to regain compliance with the Bid Price Rule or maintain compliance with the Stockholders&#x2019; Equity Requirement, Bid Price Rule, or other Nasdaq listing requirements. If the Company fails to regain compliance with Nasdaq&#x2019;s continued listing standards in accordance with the Panel&#x2019;s decision, the Company&#x2019;s common stock will be subject to delisting from Nasdaq.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTE1NDQ4NzIxNjc4NTU_235149b1-c32c-4b54-b8e5-6fded6e33621"
      unitRef="usd">-1300000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="if7e4573e94e04bfe8d334617676c042e_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY3MTQwOQ_0d48eab8-c6b9-4c43-9e85-4c91bfc081b1"
      unitRef="usd">-10300000</us-gaap:NetIncomeLoss>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTE1NDQ4NzIxNjc4NDk_bec35729-4e93-45ae-915a-0abd10997f30"
      unitRef="usd">-1200000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="if7e4573e94e04bfe8d334617676c042e_D20220101-20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY3MTQxMw_60181795-3576-41b0-be8d-09852040f915"
      unitRef="usd">-6700000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <efoi:CommonStockMinimumBidPrice
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTY0OTI2NzUyMzUwMg_2b58669e-edec-498a-ae39-fb52dda31874"
      unitRef="usdPerShare">1.00</efoi:CommonStockMinimumBidPrice>
    <efoi:CommonStockTradePricePerShare
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTY0OTI2NzUyMzUwOQ_136f6516-c76c-4d46-b170-7cbef700252b"
      unitRef="usdPerShare">1.00</efoi:CommonStockTradePricePerShare>
    <efoi:CommonStockMinimumBidPrice
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTY0OTI2NzUyMzUxNg_7fa50415-0573-4561-a4e3-06820c21ff9f"
      unitRef="usdPerShare">1.00</efoi:CommonStockMinimumBidPrice>
    <efoi:CommonStockClosingBidPriceThreshold
      contextRef="ifec2d4649e0640a483b9734304544c22_I20220823"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY2NTgwNw_eb07addb-7201-4112-9686-2a8add3c1bda"
      unitRef="usdPerShare">1.00</efoi:CommonStockClosingBidPriceThreshold>
    <efoi:NumberOfConsecutiveDaysForBidPriceBelowThreshold
      contextRef="ifec2d4649e0640a483b9734304544c22_I20220823"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY2NTgyNQ_1d73b234-b505-4c44-bd13-cbffc7ad0457"
      unitRef="d">30</efoi:NumberOfConsecutiveDaysForBidPriceBelowThreshold>
    <us-gaap:StockholdersEquity
      contextRef="ib4c936dd58804d9eb7cae4c8085386ab_I20221116"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY2NzkyOA_c69d7edc-2ef4-4e2f-8870-258bbca6c713"
      unitRef="usd">2500000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i55ef4398e21f4f6dbfd5e88b0cae0545_I20220930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY2ODI4Mw_9fc1a09f-3b71-4544-89ea-9a1682e45224"
      unitRef="usd">1500000</us-gaap:StockholdersEquity>
    <us-gaap:UseOfEstimates
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyMjE_d4214752-9178-4c91-907d-452f753e9a2a">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Use of estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of financial statements in accordance with U.S. GAAP requires management to make estimates and assumptions that affect the amounts reported in our financial statements and accompanying notes. Management bases its estimates on historical experience and various other assumptions believed to be reasonable. Although these estimates are based on management&#x2019;s best knowledge of current events and actions that may impact us in the future, actual results may vary from the estimates. Estimates include, but are not limited to, the establishment of reserves for accounts receivable, sales returns, inventory obsolescence and warranty claims; the useful lives of property and equipment; valuation allowance for net deferred taxes; and stock-based compensation. The Company began using estimates for its calculation of impairment to accounts receivable under Accounting Standards Codification (&#x201c;ASC&#x201d;) 326 commencing in 2023. In addition, estimates and assumptions associated with the determination of the fair value of financial instruments and evaluation of long-lived assets for impairment requires considerable judgment. Actual results could differ from those estimates and such differences could be material.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyNDA_1aef8ad0-ab0b-4dab-90f5-a40aa18c399d">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net sales include revenues from sales of products and shipping and handling charges, net of estimates for product returns. Revenue is measured at the amount of consideration we expect to receive in exchange for the transferred products. We recognize revenue at the point in time when we transfer the promised products to the customer and the customer obtains control over the products. Distributors&#x2019; obligations to us are not contingent upon the resale of our products. We recognize revenue for shipping and handling charges at the time the goods are shipped to the customer, and the costs of outbound freight are included in cost of sales. We provide for product returns based on historical return rates. While we incur costs for &lt;/span&gt;&lt;/div&gt;sales commissions to our sales employees and outside agents, we recognize commission costs concurrent with the related revenue, as the amortization period is less than one year. We do not incur any other incremental costs to obtain contracts with our customers. Our product warranties are assurance-type warranties, which promise the customer that the products are as specified in the contract. Therefore, the product warranties are not a separate performance obligation and are accounted for as described below. Sales taxes assessed by governmental authorities are accounted for on a net basis and are excluded from net sales.</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyNjQ_81c7ad60-543b-40f1-a1ec-4d22d8f1a6aa">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides a disaggregation of product net sales for the periods presented (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three months ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;321&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;MMM products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;609&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;927&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;930&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,061&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:Revenues
      contextRef="ibe30b06375714179a1b95677450c759e_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjUwZWRhMmQ0N2NiMjRmNzQ5NzNhOTUzOTZlYTM3NjBiL3RhYmxlcmFuZ2U6NTBlZGEyZDQ3Y2IyNGY3NDk3M2E5NTM5NmVhMzc2MGJfMy0xLTEtMS0xMDU5OTQ_077ab50c-1f5d-4f1c-ad8f-584ce6d0c336"
      unitRef="usd">321000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i94e82c1ff6b8490dbbdcca8eebcda244_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjUwZWRhMmQ0N2NiMjRmNzQ5NzNhOTUzOTZlYTM3NjBiL3RhYmxlcmFuZ2U6NTBlZGEyZDQ3Y2IyNGY3NDk3M2E5NTM5NmVhMzc2MGJfMy0zLTEtMS0xMDU5OTQ_cc9452a9-afaf-420b-8cce-fa8077d5b4ab"
      unitRef="usd">1134000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i499a295ec2a245e2a185ccf3c2025c30_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjUwZWRhMmQ0N2NiMjRmNzQ5NzNhOTUzOTZlYTM3NjBiL3RhYmxlcmFuZ2U6NTBlZGEyZDQ3Y2IyNGY3NDk3M2E5NTM5NmVhMzc2MGJfNC0xLTEtMS0xMDU5OTQ_acef96e0-b1eb-43d8-b1cb-12aee0216b84"
      unitRef="usd">609000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i7370aef696994b87a86ab293a9fdbb9b_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjUwZWRhMmQ0N2NiMjRmNzQ5NzNhOTUzOTZlYTM3NjBiL3RhYmxlcmFuZ2U6NTBlZGEyZDQ3Y2IyNGY3NDk3M2E5NTM5NmVhMzc2MGJfNC0zLTEtMS0xMDU5OTQ_2d8d8dbc-5bbf-4bcf-b678-150751a04bd4"
      unitRef="usd">927000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjUwZWRhMmQ0N2NiMjRmNzQ5NzNhOTUzOTZlYTM3NjBiL3RhYmxlcmFuZ2U6NTBlZGEyZDQ3Y2IyNGY3NDk3M2E5NTM5NmVhMzc2MGJfNS0xLTEtMS0xMDU5OTQ_1707eb86-1554-4738-b8e1-5048a3ee3444"
      unitRef="usd">930000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjUwZWRhMmQ0N2NiMjRmNzQ5NzNhOTUzOTZlYTM3NjBiL3RhYmxlcmFuZ2U6NTBlZGEyZDQ3Y2IyNGY3NDk3M2E5NTM5NmVhMzc2MGJfNS0zLTEtMS0xMDU5OTQ_f19342ce-2abb-47a8-a1a6-7f0125ef0415"
      unitRef="usd">2061000</us-gaap:Revenues>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyNDI_e495b25b-1567-4bfa-b92b-9a24baf10def">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Accounts Receivable&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our trade accounts receivable consists of amounts billed to and currently due from customers. Our customers are concentrated in the United States. In the normal course of business, we extend unsecured credit to our customers related to the sale of our products. Credit is extended to customers based on an evaluation of the customer&#x2019;s financial condition and the amounts due are stated at their estimated net realizable value. We maintain allowances for sales returns and doubtful accounts receivable to provide for the estimated number of account receivables that will not be collected. The allowance is based on an assessment of forward looking customer credit-worthiness and historical payment experience, the age of outstanding receivables, and performance guarantees to the extent applicable. Past due amounts are written off when our internal collection efforts have been unsuccessful, and payments subsequently received on such receivables are credited to the allowance for doubtful accounts. We do not generally require collateral from our customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our standard payment terms with customers are net 30 days from the date of shipment, and we do not generally offer extended payment terms to our customers, but exceptions are made in some cases for major customers or with particular orders. Accordingly, we do not adjust trade accounts receivable for the effects of financing, as we expect the period between the transfer of product to the customer and the receipt of payment from the customer to be in line with our standard payment terms.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Through November 2022, we utilized a third-party account receivable insurance program with a very high credit worthy insurance company where we had the large majority of the accounts receivable arising during the policy term insured with a portion of self-retention. This third party also provided credit-worthiness ratings and metrics that significantly assisted us in evaluating the credit-worthiness of both existing and new customers.  Although the insurance policy is no longer in place, all invoices issued under the previous coverage period are still covered under the policy. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On January 1, 2023, the Company adopted ASC 326, Measurement of Credit Losses on Financial Instruments (&#x201c;CECL&#x201d;). The standard adds to U.S. GAAP an impairment model known as the CECL model, which is based on expected losses rather than incurred losses. This standard only impacts the Company&#x2019;s trade receivables. The Company decided to use the roll rate method of valuing its reserve for trade receivables. The reserve is based on a careful review of claims made during 2022 against unpaid invoices. This resulted in a $2.6&#160;thousand adjustment to Retained Earnings as of December 31, 2022 and a charge of $12&#160;thousand to bad debt expense in the first quarter of 2023.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pursuant to ASC 606, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, contract assets and contract liabilities as of the beginning and ending of the reporting periods must be disclosed. Below is the breakout of the Company&#x2019;s contract assets for such periods:&lt;/span&gt;&lt;/div&gt;</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <efoi:ContractWithCustomerPaymentTerms
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMjE5OTAyMzMxMTM0NA_2b2b0be0-4619-4feb-897f-d392b81becc8">P30D</efoi:ContractWithCustomerPaymentTerms>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ib64ba521b5ce47a8a7f8e9f2f474c4b2_I20221231"
      decimals="-2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMjE5OTAyMzMzNzQ2MA_542e73d1-a44a-450b-95b5-5cee92516c95"
      unitRef="usd">2600</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMjE5OTAyMzMzNzQ3NQ_c7497f98-74ee-443d-b35e-d9a26d2252d6"
      unitRef="usd">12000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMjE5OTAyMzMzNzQ4OA_31c3f9ec-6b9f-4494-bec1-82319d4395ac">Below is the breakout of the Company&#x2019;s contract assets for such periods:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.896%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.170%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross Accounts Receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Allowance for Doubtful Accounts&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(58)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net Accounts Receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;909&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;445&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfMi0xLTEtMS0xMjI2MDk_6be89d4c-db95-4914-b56d-7a780d7cb605"
      unitRef="usd">967000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfMi0zLTEtMS0xMjI2MDk_76fae795-c475-4696-b730-311b6a51cf7a"
      unitRef="usd">471000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="i466b5761fcc746f6b9e105f3ee815891_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfMi01LTEtMS0xMjI2MDk_169387e9-fe94-4038-a028-4b75391c079d"
      unitRef="usd">1337000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfMy0xLTEtMS0xMjI2MDk_0a8218ed-d2ac-48b9-bb1a-962668536cf4"
      unitRef="usd">58000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfMy0zLTEtMS0xMjI2MDk_edd20a6d-c735-46c8-ab85-85876e248a92"
      unitRef="usd">26000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i466b5761fcc746f6b9e105f3ee815891_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfMy01LTEtMS0xMjI2MDk_73cdea92-6b95-4366-9e5e-f362c280bf27"
      unitRef="usd">7000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfNC0xLTEtMS0xMjI2MDk_8e6ddafa-31d2-4e14-9908-f82db3b2840b"
      unitRef="usd">909000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfNC0zLTEtMS0xMjI2MDk_48651348-cab6-46dd-abce-8c97b05e2806"
      unitRef="usd">445000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i466b5761fcc746f6b9e105f3ee815891_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOmU3ZTdmZTM0ODcxMDRiY2E5MjhhMWZmYWNiZjRkYThlL3RhYmxlcmFuZ2U6ZTdlN2ZlMzQ4NzEwNGJjYTkyOGExZmZhY2JmNGRhOGVfNC01LTEtMS0xMjI2MDk_815388c4-763b-421b-b971-519231f9dabe"
      unitRef="usd">1330000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i9c11afc15b924445b0c0fef98f329885_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfOTQ4OA_d5cf6363-823e-44e9-bb27-1dad522c4751"
      unitRef="number">0.01</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i5ed882c6d1f749b38fb083fbe6841fe2_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMjE5OTAyMzMxMTM2MA_45d2064c-5a8c-4b27-bd22-08e645cb9e1d"
      unitRef="number">0.02</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyMDI_6729a25b-0d1b-4ca5-8645-cfa94c8026a4">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net loss per share &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic loss per share is computed by dividing net loss available to common stockholders by the weighted average number of shares of common stock outstanding during the period, excluding the effects of any potentially dilutive securities. Diluted loss per share gives effect to all dilutive potential shares of common stock outstanding during the period. Dilutive potential shares of common stock consist of incremental shares upon the exercise of stock options, warrants and convertible securities, unless the effect would be anti-dilutive.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyMzY_2d092041-99b1-4249-82fc-ecf644dd3465">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents a reconciliation of basic and diluted loss per share computations (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.314%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.851%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.168%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,333)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,821)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic and diluted weighted average shares of common stock outstanding &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,172&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjAwODc4YjViYmY2MTQwYWJiYWQ2YzBmMjc3NGM4NTc0L3RhYmxlcmFuZ2U6MDA4NzhiNWJiZjYxNDBhYmJhZDZjMGYyNzc0Yzg1NzRfMy0xLTEtMS0xMDU5OTQ_96d36e01-0a05-426f-ba2f-b1f67900724b"
      unitRef="usd">-1333000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjAwODc4YjViYmY2MTQwYWJiYWQ2YzBmMjc3NGM4NTc0L3RhYmxlcmFuZ2U6MDA4NzhiNWJiZjYxNDBhYmJhZDZjMGYyNzc0Yzg1NzRfMy0zLTEtMS0xMDU5OTQ_988e6a80-6371-4a27-8c42-4c76668fd2ea"
      unitRef="usd">-2821000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjAwODc4YjViYmY2MTQwYWJiYWQ2YzBmMjc3NGM4NTc0L3RhYmxlcmFuZ2U6MDA4NzhiNWJiZjYxNDBhYmJhZDZjMGYyNzc0Yzg1NzRfNi0xLTEtMS0xMDU5OTQ_13c9b42a-2688-4cd1-8f08-f7173178e7c3"
      unitRef="shares">16172000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjAwODc4YjViYmY2MTQwYWJiYWQ2YzBmMjc3NGM4NTc0L3RhYmxlcmFuZ2U6MDA4NzhiNWJiZjYxNDBhYmJhZDZjMGYyNzc0Yzg1NzRfNi0xLTEtMS0xMDU5OTQ_5fc9ebfe-5a1b-45f0-8048-fa1d5ebe28f4"
      unitRef="shares">16172000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjAwODc4YjViYmY2MTQwYWJiYWQ2YzBmMjc3NGM4NTc0L3RhYmxlcmFuZ2U6MDA4NzhiNWJiZjYxNDBhYmJhZDZjMGYyNzc0Yzg1NzRfNi0zLTEtMS0xMDU5OTQ_b190cae0-9306-4955-885a-a7b7dc656c1f"
      unitRef="shares">6437000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjAwODc4YjViYmY2MTQwYWJiYWQ2YzBmMjc3NGM4NTc0L3RhYmxlcmFuZ2U6MDA4NzhiNWJiZjYxNDBhYmJhZDZjMGYyNzc0Yzg1NzRfNi0zLTEtMS0xMDU5OTQ_efa49903-e9d1-4d60-a73e-e6b68d5956a7"
      unitRef="shares">6437000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="id264de05f365449d9f7a9f3df99e34f3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA1NTQ_42164650-a4eb-43de-aa78-2bce5df35d26"
      unitRef="shares">175000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ibc1ea603e2574aa0af909464e538343c_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MTU1MA_837aaeb7-ba66-4615-882e-c2e2799cbbd3"
      unitRef="shares">16000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i66ce3809cdd748ea8963b144b7adce1d_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTE1NDQ4NzIxNjc4NjQ_9f3b6629-a21a-4218-bacf-1ea69646175e"
      unitRef="shares">175000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:StandardProductWarrantyPolicy
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyMzc_ccde315b-e549-4965-81da-632c14ce9915">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Product warranties&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We warrant our commercial and MMM LED products and controls for periods generally ranging from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAxNg_16e1c2b7-1b11-4993-a4ef-f853eb7486b6"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAxNg_5f339c5e-7af8-42cc-a026-46659e81cb9d"&gt;five&lt;/span&gt;&lt;/span&gt; to ten years. Warranty settlement costs consist of actual amounts expensed for warranty, which are largely a result of the cost of replacement products or rework services provided to our customers. A liability for the estimated future costs under product warranties is maintained for products under warranty based on the actual claims incurred to date and the estimated nature, frequency, and costs of future claims. As warranty coverage from prior period sales expire, previous accruals are released.  These estimates are inherently uncertain and changes to our historical or projected experience may cause material changes to our warranty reserves in the future. We continuously review the assumptions related to the adequacy of our warranty reserve, including product failure rates, and make adjustments to the existing warranty liability when there are changes to these estimates or the underlying replacement product costs, or the warranty period expires.&lt;/span&gt;&lt;/div&gt;</us-gaap:StandardProductWarrantyPolicy>
    <efoi:StandardProductWarrantyNumberofYears
      contextRef="iabb8d8bbb108485e83e87af3006c33cc_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAyMw_045c4584-cc4c-4066-bbb9-bda1bd766ec6">P10Y</efoi:StandardProductWarrantyNumberofYears>
    <efoi:StandardProductWarrantyNumberofYears
      contextRef="i4aeeb86dd6994242bc366752d38a3e04_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MzAyMw_466276b4-6de4-4937-9c4b-05341a2bcd08">P10Y</efoi:StandardProductWarrantyNumberofYears>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyMDQ_0fe01250-53f9-4388-ac1f-7ce6e5afcef4">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes warranty activity for the periods presented (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at beginning of period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;183&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Warranty accruals for current period sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Adjustments to existing warranties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(39)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;In kind settlements made during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(14)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Accrued warranty reserve at end of period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:StandardProductWarrantyAccrualCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfMi01LTEtMS0xMDU5OTQ_522d54d0-de8a-4fca-b297-0cf1088ecebd"
      unitRef="usd">183000</us-gaap:StandardProductWarrantyAccrualCurrent>
    <us-gaap:StandardProductWarrantyAccrualCurrent
      contextRef="i9d29fd435d4542aa8f23d9515714b4a6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfMi03LTEtMS0xMDU5OTQ_9fb7ae88-afc5-4fe4-8ecd-ae850022cd16"
      unitRef="usd">295000</us-gaap:StandardProductWarrantyAccrualCurrent>
    <us-gaap:StandardProductWarrantyAccrualWarrantiesIssued
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfMy01LTEtMS0xMDU5OTQ_96fafa67-b74c-4e1f-95e6-0762e2648457"
      unitRef="usd">-1000</us-gaap:StandardProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:StandardProductWarrantyAccrualWarrantiesIssued
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfMy03LTEtMS0xMDU5OTQ_e16749f0-0bfa-42b2-bd1e-3979b419f45f"
      unitRef="usd">-1000</us-gaap:StandardProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfNC01LTEtMS0xMDU5OTQ_9405068f-6398-45e7-bece-855302f29ebf"
      unitRef="usd">-39000</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfNC03LTEtMS0xMDU5OTQ_0ee7db08-282b-40e1-b9ed-03fb951ce3d7"
      unitRef="usd">-15000</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPayments
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfNS01LTEtMS0xMDU5OTQ_7f9472ad-0686-48a8-8ce7-4a8317d2b0f3"
      unitRef="usd">0</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrualPayments
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfNS03LTEtMS0xMDU5OTQ_05b35b82-e2a0-4c70-b068-f9f1d36f0d88"
      unitRef="usd">14000</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrualCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfNi01LTEtMS0xMDU5OTQ_cc780ec8-50f1-4653-a811-69062b56c428"
      unitRef="usd">143000</us-gaap:StandardProductWarrantyAccrualCurrent>
    <us-gaap:StandardProductWarrantyAccrualCurrent
      contextRef="i466b5761fcc746f6b9e105f3ee815891_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RhYmxlOjU1M2IxNzRkYTY1ZTQyNThhMDgwNmMyNzMxNzY0MzlhL3RhYmxlcmFuZ2U6NTUzYjE3NGRhNjVlNDI1OGEwODA2YzI3MzE3NjQzOWFfNi03LTEtMS0xMDU5OTQ_66d8d4de-d152-41fe-9679-c31c8482dba4"
      unitRef="usd">265000</us-gaap:StandardProductWarrantyAccrualCurrent>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTcyMTM_0241bfe5-cabe-4a16-9719-f0736aa7d1a1">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value hierarchy prioritizes the inputs to valuation techniques used to measure fair value, giving the highest priority to unadjusted quoted prices in active markets for identical assets or liabilities (Level 1 measurements) and the lowest priority to unobservable inputs (Level 3 measurements). The three levels of the fair value hierarchy are described below. We classify the inputs used to measure fair value into the following hierarchy:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.509%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:89.291%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Unadjusted quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Unadjusted quoted prices in active markets for similar assets or liabilities, or unadjusted quoted prices for identical or similar assets or liabilities in markets that are not active, or inputs other than quoted prices that are observable for the asset or liability.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Unobservable inputs for the asset or liability.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amounts of certain financial instruments including cash, accounts receivable, accounts payable, and accrued liabilities approximate fair value due to their short maturities. Based on borrowing rates currently available to us for loans with similar terms, the carrying value of borrowings under our revolving credit facilities also approximates fair value.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A financial instrument&#x2019;s level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. In determining the appropriate levels, we perform a detailed analysis of the assets and liabilities whose fair value is measured on a recurring basis. We review and reassess the fair value hierarchy classifications on a quarterly basis. Changes from one quarter to the next related to the observability of inputs in a fair value measurement may result in a reclassification between fair value hierarchy levels. There were no reclassifications for all periods presented.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMjE5OTAyMzMxMTMyNQ_7c1b7eb0-5903-404a-b548-cab282570092">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Certain risks and concentrations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have certain customers whose net sales individually represented 10% or more of our total net sales, or whose net trade accounts receivable balance individually represented 10% or more of our total net trade accounts receivable; we have certain suppliers, which individually represent 10% or more of our total purchases, or whose trade accounts payable balance individually represented 10% or more of our total trade accounts payable balance, as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the three months ended March 31, 2023, sales to our primary distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a distributor to the U.S. Department of Defense, accounted for approximately 22%, 27%, and 11% of net sales, respectively. When sales for our top military customers are combined, total net sales of military products comprised approximately 49% of net sales for the same period. For the three months ended March 31, 2022, sales to our primary distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a commercial building systems provider, accounted for approximately 15%, 21%, and 19% of net sales, respectively. When sales to our primary distributor for the U.S. Navy are combined with sales to shipbuilders for the U.S. Navy, total net sales of products for the U.S. Navy comprised approximately 37% of net sales for the same period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A distributor for the U.S. Navy, a U.S. Navy shipbuilder, and a distributor to the U.S. Department of Defense, accounted for approximately 32%, 22%, and 17% of net trade accounts receivable, respectively, at March&#160;31, 2023. At December&#160;31, 2022, a distributor to the U.S. Department of Defense accounted for 25% of our net trade accounts receivable, and when combined with our net trade accounts receivable to shipbuilders for the U.S. Navy, total net accounts receivable related to U.S. Navy sales is 30% of our net trade accounts receivable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;No one supplier accounted for more than 10% of our total expenditures for the three months ended March&#160;31, 2023. For the three months ended March 31, 2022, one offshore supplier accounted for approximately 19% of total expenditures.&lt;/span&gt;&lt;/div&gt;At March&#160;31, 2023 and December&#160;31, 2022, one offshore supplier accounted for approximately 36% of our trade accounts payable balance.</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i39533d5a86274d87aa89cc005a86befc_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY0ODc1NQ_5a1908d1-e5ce-4360-9eff-5669b1aa8b92"
      unitRef="number">0.22</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="id7d941fcb5454139b313fdac8d88b7be_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfNTQ5NzU1ODc5ODEz_8c789f0a-76bd-493c-a782-484f9aff81ab"
      unitRef="number">0.27</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia3d9865baf0a4b769020a2aad7da602f_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfNTQ5NzU1ODc5ODE3_b7f6e861-ec86-436b-a3fa-4fd99f061967"
      unitRef="number">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="icc1ccca233c64be9a50b97b050b34491_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY0ODk4Ng_3bdf07f7-7c28-4c64-9b68-fe55d7bf4fb2"
      unitRef="number">0.49</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i258f02ddd14c41c4b837ac28fa3fe00e_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY0OTE2OA_b4df0206-e52a-4ce8-b439-445dce843e09"
      unitRef="number">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i70e02c73234b4f81923806790a5014e4_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTE1NDQ4NzIxNjc5NzM_a298a538-869d-4429-8703-a677722af775"
      unitRef="number">0.21</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i249fc231ec704ffaad85618a8bbb5fb7_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTE1NDQ4NzIxNjc5Nzg_7262e6ef-7fe7-4403-9400-86fdd2376c40"
      unitRef="number">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia7aec294cb2242e990cb4d96cb83dca2_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfNTQ5NzU1ODk2MzA2_505496f4-1414-4373-88b2-4a113dc9b942"
      unitRef="number">0.37</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i8f10f3c585784b5a820d34645788da0e_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfNTQ5NzU1ODgwNjA4_0287bb81-eda6-4940-a9bf-ad9ad36866f9"
      unitRef="number">0.32</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i23ef6450019c468d8113a55a16e6dd29_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfNTQ5NzU1ODgwNjEy_a0ea78c0-2371-44ec-819b-9d38af73384c"
      unitRef="number">0.22</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ie37aea4688a4484a8f6d1364a87affe2_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfNTQ5NzU1ODgwNjE2_791de233-2f31-4aa2-8d7d-5835937b5001"
      unitRef="number">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i3c66925453f84f9aa582618cc0a3cfd3_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY0OTcxOQ_89d781cc-f3c9-44e3-b8cf-fc37086a8e36"
      unitRef="number">0.25</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia59ea0b777e948d5adc15aa6b596a3df_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY0OTgxMA_6459a30b-f7e0-4b52-bc6a-2a6095376230"
      unitRef="number">0.30</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iaf48b7ed34e94c57a617794e4f353860_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMjE5OTAyMzMyNTg0MQ_f3b3a135-6d37-4bcf-9cbf-6d8f44b7a502"
      unitRef="number">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i63714b15234c43c1a759b4fff0f51c95_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MDAzMQ_02438309-2c3d-4039-9f92-b53fab9d1da7"
      unitRef="number">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="id53c2d2340f545309dcc3789853755fc_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MDExNg_48366954-5dec-4ab6-82c7-4634de369571"
      unitRef="number">0.36</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i29e048e5bfd14d4f93beab25eb89037c_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMTA5OTUxMTY1MDExNg_d1dcfb3c-c333-40c7-a356-80538fad82a8"
      unitRef="number">0.36</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80MC9mcmFnOjhkMjNhMjdiYTZmNDQ2ODJiMWY0ZjAzYWQ2ZjI2YTc1L3RleHRyZWdpb246OGQyM2EyN2JhNmY0NDY4MmIxZjRmMDNhZDZmMjZhNzVfMjE5OTAyMzMxMTMyNg_47ea4d17-d6ec-4087-bcbf-62606acc4bbd">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Recent adopted accounting standard&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2016, the Financial Accounting Standards Board issued Accounting Standard Update No. 2016-13, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which significantly changes the accounting for credit losses on instruments within its scope. The new guidance introduces an approach based on expected losses to estimate credit losses on certain financial instruments, including trade receivables, and requires an entity to recognize an allowance based on its estimate of expected credit losses rather than incurred losses. For smaller reporting companies, this standard became effective for interim and annual periods starting after December 15, 2022, and has been adopted by the Company. The adoption of this guidance did not have a material impact on our consolidated financial position or results of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RleHRyZWdpb246YjIxMzhkZDVmOTM4NDBhZjg3ZjU4ZGQxZTFlNjEyNjdfMzU1_60259daa-5a4c-4bc2-8763-e04b0c442ca8">INVENTORIES&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories are stated at the lower of standard cost (which approximates actual cost determined using the first-in, first-out cost method) or net realizable value, and consist of the following (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,936&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,347&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reserves for excess, obsolete, and slow-moving inventories &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,507)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,527)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Inventories, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,938&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,476&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a roll-forward of the reserves for excess, obsolete, and slow-moving inventories (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.764%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,527)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,050)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrual&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(56)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(145)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reduction due to sold inventory&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Reserves for excess, obsolete, and slow-moving inventories&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,507)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,179)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RleHRyZWdpb246YjIxMzhkZDVmOTM4NDBhZjg3ZjU4ZGQxZTFlNjEyNjdfMzU5_a8fcd439-895a-4331-be90-7185c27da7e5">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories are stated at the lower of standard cost (which approximates actual cost determined using the first-in, first-out cost method) or net realizable value, and consist of the following (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,936&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,347&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,656&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reserves for excess, obsolete, and slow-moving inventories &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,507)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,527)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Inventories, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,938&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,476&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a roll-forward of the reserves for excess, obsolete, and slow-moving inventories (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.764%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,527)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,050)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrual&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(56)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(145)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reduction due to sold inventory&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Reserves for excess, obsolete, and slow-moving inventories&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,507)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,179)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOjc2NGUzYzFjZTc4YjQ4MWY5MzUzMDVlOGVkNjNhY2UzL3RhYmxlcmFuZ2U6NzY0ZTNjMWNlNzhiNDgxZjkzNTMwNWU4ZWQ2M2FjZTNfMS0xLTEtMS0xMDU5OTQ_4e2bd84d-2936-4344-a042-c43c6f6f73b7"
      unitRef="usd">2936000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOjc2NGUzYzFjZTc4YjQ4MWY5MzUzMDVlOGVkNjNhY2UzL3RhYmxlcmFuZ2U6NzY0ZTNjMWNlNzhiNDgxZjkzNTMwNWU4ZWQ2M2FjZTNfMS0zLTEtMS0xMDU5OTQ_268172e1-636e-4ebd-a4c0-016b9b4e09fc"
      unitRef="usd">3347000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryFinishedGoods
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOjc2NGUzYzFjZTc4YjQ4MWY5MzUzMDVlOGVkNjNhY2UzL3RhYmxlcmFuZ2U6NzY0ZTNjMWNlNzhiNDgxZjkzNTMwNWU4ZWQ2M2FjZTNfMi0xLTEtMS0xMDU5OTQ_aad7e7f4-2fcf-46c7-bfab-9441f5351dc2"
      unitRef="usd">4509000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOjc2NGUzYzFjZTc4YjQ4MWY5MzUzMDVlOGVkNjNhY2UzL3RhYmxlcmFuZ2U6NzY0ZTNjMWNlNzhiNDgxZjkzNTMwNWU4ZWQ2M2FjZTNfMi0zLTEtMS0xMDU5OTQ_fd900811-7100-4842-8ce4-7df4bcc1c484"
      unitRef="usd">4656000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryValuationReserves
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOjc2NGUzYzFjZTc4YjQ4MWY5MzUzMDVlOGVkNjNhY2UzL3RhYmxlcmFuZ2U6NzY0ZTNjMWNlNzhiNDgxZjkzNTMwNWU4ZWQ2M2FjZTNfMy0xLTEtMS0xMDU5OTQ_92f21226-d9ea-4f07-af86-a2bd30890f43"
      unitRef="usd">2507000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOjc2NGUzYzFjZTc4YjQ4MWY5MzUzMDVlOGVkNjNhY2UzL3RhYmxlcmFuZ2U6NzY0ZTNjMWNlNzhiNDgxZjkzNTMwNWU4ZWQ2M2FjZTNfMy0zLTEtMS0xMDU5OTQ_6f5c582e-75cd-48ab-acbf-fc254eacfd2b"
      unitRef="usd">2527000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOjc2NGUzYzFjZTc4YjQ4MWY5MzUzMDVlOGVkNjNhY2UzL3RhYmxlcmFuZ2U6NzY0ZTNjMWNlNzhiNDgxZjkzNTMwNWU4ZWQ2M2FjZTNfNC0xLTEtMS0xMDU5OTQ_377a9c4c-241a-4987-8d2d-866ae312a080"
      unitRef="usd">4938000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOjc2NGUzYzFjZTc4YjQ4MWY5MzUzMDVlOGVkNjNhY2UzL3RhYmxlcmFuZ2U6NzY0ZTNjMWNlNzhiNDgxZjkzNTMwNWU4ZWQ2M2FjZTNfNC0zLTEtMS0xMDU5OTQ_04fe797b-7b19-43eb-9520-327cc2ba6bac"
      unitRef="usd">5476000</us-gaap:InventoryNet>
    <efoi:InventoryValuationReservesRawMaterials
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOmIwODMzZTcwOTc2NDQzYmQ5MzM1MzYxZDczN2FjNjVjL3RhYmxlcmFuZ2U6YjA4MzNlNzA5NzY0NDNiZDkzMzUzNjFkNzM3YWM2NWNfMi01LTEtMS0xMDU5OTQ_f1961ce7-61cf-4444-aff7-595fe86a9d76"
      unitRef="usd">2527000</efoi:InventoryValuationReservesRawMaterials>
    <efoi:InventoryValuationReservesRawMaterials
      contextRef="i9d29fd435d4542aa8f23d9515714b4a6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOmIwODMzZTcwOTc2NDQzYmQ5MzM1MzYxZDczN2FjNjVjL3RhYmxlcmFuZ2U6YjA4MzNlNzA5NzY0NDNiZDkzMzUzNjFkNzM3YWM2NWNfMi03LTEtMS0xMDU5OTQ_d2c1cd19-3f45-40ad-88c3-00e763a38a16"
      unitRef="usd">3050000</efoi:InventoryValuationReservesRawMaterials>
    <efoi:InventoryValuationReservesProvisionAccrual
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOmIwODMzZTcwOTc2NDQzYmQ5MzM1MzYxZDczN2FjNjVjL3RhYmxlcmFuZ2U6YjA4MzNlNzA5NzY0NDNiZDkzMzUzNjFkNzM3YWM2NWNfMy01LTEtMS0xMDU5OTQ_f8776c15-7409-4c1a-9ab1-b064ba51798a"
      unitRef="usd">-56000</efoi:InventoryValuationReservesProvisionAccrual>
    <efoi:InventoryValuationReservesProvisionAccrual
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOmIwODMzZTcwOTc2NDQzYmQ5MzM1MzYxZDczN2FjNjVjL3RhYmxlcmFuZ2U6YjA4MzNlNzA5NzY0NDNiZDkzMzUzNjFkNzM3YWM2NWNfMy03LTEtMS0xMDU5OTQ_d48d055d-4000-491b-9a4a-94555e7b9925"
      unitRef="usd">-145000</efoi:InventoryValuationReservesProvisionAccrual>
    <efoi:InventoryValuationReservesSalesOfInventory
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOmIwODMzZTcwOTc2NDQzYmQ5MzM1MzYxZDczN2FjNjVjL3RhYmxlcmFuZ2U6YjA4MzNlNzA5NzY0NDNiZDkzMzUzNjFkNzM3YWM2NWNfNC01LTEtMS0xMDU5OTQ_f837077f-f181-4b24-8a26-a469694b35a1"
      unitRef="usd">76000</efoi:InventoryValuationReservesSalesOfInventory>
    <efoi:InventoryValuationReservesSalesOfInventory
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOmIwODMzZTcwOTc2NDQzYmQ5MzM1MzYxZDczN2FjNjVjL3RhYmxlcmFuZ2U6YjA4MzNlNzA5NzY0NDNiZDkzMzUzNjFkNzM3YWM2NWNfNC03LTEtMS0xMDU5OTQ_65d9fd8b-0546-4fae-a5a1-01865261ed3e"
      unitRef="usd">16000</efoi:InventoryValuationReservesSalesOfInventory>
    <efoi:InventoryValuationReservesRawMaterials
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOmIwODMzZTcwOTc2NDQzYmQ5MzM1MzYxZDczN2FjNjVjL3RhYmxlcmFuZ2U6YjA4MzNlNzA5NzY0NDNiZDkzMzUzNjFkNzM3YWM2NWNfNi01LTEtMS0xMDU5OTQ_974a3689-088f-4c88-a476-af370734ce57"
      unitRef="usd">2507000</efoi:InventoryValuationReservesRawMaterials>
    <efoi:InventoryValuationReservesRawMaterials
      contextRef="i466b5761fcc746f6b9e105f3ee815891_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl80OS9mcmFnOmIyMTM4ZGQ1ZjkzODQwYWY4N2Y1OGRkMWUxZTYxMjY3L3RhYmxlOmIwODMzZTcwOTc2NDQzYmQ5MzM1MzYxZDczN2FjNjVjL3RhYmxlcmFuZ2U6YjA4MzNlNzA5NzY0NDNiZDkzMzUzNjFkNzM3YWM2NWNfNi03LTEtMS0xMDU5OTQ_abef7e3e-ee0b-42f6-95ea-da43963a2d14"
      unitRef="usd">3179000</efoi:InventoryValuationReservesRawMaterials>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RleHRyZWdpb246ZDg2YmFjMzYwMmU0NDY4ODk5M2U3N2Y0MWI4NDJiMWJfMjk5_2c5d43d8-bb7f-4a14-bf88-5d8a55b391be">PROPERTY AND EQUIPMENT&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost and depreciated using the straight-line method over the estimated useful lives of the related assets and consist of the following (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equipment (useful life 3 to 15 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,061&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,061&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tooling (useful life 2 to 5 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements (the shorter of useful life or lease life)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;141&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;141&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Property and equipment at cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,392&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,392&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,324)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,316)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation expense was $8&#160;thousand and $44&#160;thousand for the three months ended March 31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RleHRyZWdpb246ZDg2YmFjMzYwMmU0NDY4ODk5M2U3N2Y0MWI4NDJiMWJfMjk3_f50a7019-9c68-4511-9b93-d9ba0dfcd47f">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost and depreciated using the straight-line method over the estimated useful lives of the related assets and consist of the following (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equipment (useful life 3 to 15 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,061&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,061&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tooling (useful life 2 to 5 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements (the shorter of useful life or lease life)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;141&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;141&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Property and equipment at cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,392&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,392&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,324)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,316)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="iceffaa71abeb460796ab758ddc865e98_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMS0wLTEtMS0xMDU5OTQvdGV4dHJlZ2lvbjpkN2U5Mzk5ZGZjZTc0MWEyYTBlNTU0NTAzMTdmNDQ1Ml8yNw_dfaecd74-2058-4beb-a074-9199934c0926">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ie9e61096539d4cf2be2ad4b561242d2e_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMS0wLTEtMS0xMDU5OTQvdGV4dHJlZ2lvbjpkN2U5Mzk5ZGZjZTc0MWEyYTBlNTU0NTAzMTdmNDQ1Ml8zMw_ae12dbed-c5d8-4512-8449-e367f07d666d">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ib49f05a3b2cb4c41b2de428dc836bd6d_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMS0xLTEtMS0xMDU5OTQ_bce1df86-ca59-4224-8781-9842b8395226"
      unitRef="usd">1061000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i7d19e2e344e2469fa6992944d15d32e3_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMS0zLTEtMS0xMDU5OTQ_c07524a0-14e5-4610-aa9f-aa7fe19a58af"
      unitRef="usd">1061000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i61de5a6f45cc489ca263c1d6d42dc732_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMi0wLTEtMS0xMDU5OTQvdGV4dHJlZ2lvbjpmMWM5MjdlYzNmMTg0ODBhYjQyY2MxNjk0NWFmYmJhMV8yNQ_c35fabb3-2fe7-45e0-adb2-f8943dcae562">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i23cc924ee69b442595563d20b7cda2eb_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMi0wLTEtMS0xMDU5OTQvdGV4dHJlZ2lvbjpmMWM5MjdlYzNmMTg0ODBhYjQyY2MxNjk0NWFmYmJhMV8zMQ_4fcd813a-53a3-4e6f-bcfa-d4b6ae2dbd69">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i0bc136c70b924f38a45cb74ca3a3fb90_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMi0xLTEtMS0xMDU5OTQ_ea3c0e9a-3408-4ffd-9cdc-ad9fc3f8f535"
      unitRef="usd">190000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i048bc115a9004fabafd8e56fefaa435e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMi0zLTEtMS0xMDU5OTQ_275df411-081b-47c7-914d-012511a1f960"
      unitRef="usd">190000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i18f4f4ba167b46349c55e90e3ad996f1_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfNi0xLTEtMS0xMDU5OTQ_eb895687-820a-402c-bc39-e36b78ddbdf5"
      unitRef="usd">141000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ie338435ef0114aa79de9ef679ecd95bc_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfNi0zLTEtMS0xMDU5OTQ_baee6405-14bf-42fa-9bd7-62d53762e01e"
      unitRef="usd">141000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMTAtMS0xLTEtMTA1OTk0_e0bcf1d8-d87c-4b12-a213-44a4f888c9a9"
      unitRef="usd">1392000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMTAtMy0xLTEtMTA1OTk0_eaf940bc-91da-43d0-a956-5bbaf5871a10"
      unitRef="usd">1392000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMTEtMS0xLTEtMTA1OTk0_fc784b60-5fc9-49f4-a93a-151a1a85d0ad"
      unitRef="usd">1324000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMTEtMy0xLTEtMTA1OTk0_f738bf6d-9797-495d-a273-b0c84f97bc1e"
      unitRef="usd">1316000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMTItMS0xLTEtMTA1OTk0_71f2a74f-e8f0-4eb6-b33e-6cdd6010e3fd"
      unitRef="usd">68000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RhYmxlOjI3MGRlN2E0YzFiZjQ3MTlhNWMzOGFlYTk1ZWNhOTI2L3RhYmxlcmFuZ2U6MjcwZGU3YTRjMWJmNDcxOWE1YzM4YWVhOTVlY2E5MjZfMTItMy0xLTEtMTA1OTk0_945e81f6-12e3-4fec-878c-25165163943f"
      unitRef="usd">76000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:Depreciation
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RleHRyZWdpb246ZDg2YmFjMzYwMmU0NDY4ODk5M2U3N2Y0MWI4NDJiMWJfMjUw_83f9ad89-a414-4b67-8e22-b1eaa26456c1"
      unitRef="usd">8000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81Mi9mcmFnOmQ4NmJhYzM2MDJlNDQ2ODg5OTNlNzdmNDFiODQyYjFiL3RleHRyZWdpb246ZDg2YmFjMzYwMmU0NDY4ODk5M2U3N2Y0MWI4NDJiMWJfMjU3_a1bd7851-699e-4348-a242-1ed8dc332597"
      unitRef="usd">44000</us-gaap:Depreciation>
    <us-gaap:LesseeFinanceLeasesTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMzg4Mg_4abed870-7f2f-47c6-b62f-47d6e04d54b4">LEASES&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases certain equipment, manufacturing, warehouse and office space under non-cancellable operating leases with expirations through 2027 under which it is responsible for related maintenance, taxes and insurance. The Company had one finance lease on a forklift containing a bargain purchase option, which was exercised in July 2022. As of March 25, 2022, the terms of our real estate operating lease have been modified beginning July 1, 2022 and extended through 2027. In accordance with ASC 842, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Leases&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; (&#x201c;Topic 842&#x201d;), the related lease liability was remeasured and the right-of-use asset was adjusted for each lease at the time of modification. The present value of the lease obligations for the lease was calculated using an incremental borrowing rate of 16.96%, which was the Company&#x2019;s blended borrowing rates (including interest, annual facility fees, collateral management fees, bank fees and other miscellaneous lender fees) on its revolving lines of credit with Crossroads Financial Group, LLC (as described below in Note 6, &#x201c;Debt&#x201d;) and Factors Southwest L.L.C. (as described below in Note 6, &#x201c;Debt&#x201d;). The present value of the other remaining lease obligations continues to be calculated using an incremental borrowing rate of 7.25% (which excludes the annual facility fee and other lender fees), which was the Company&#x2019;s borrowing rate on its former revolving line of credit with Austin Financial Services, Inc. (the &#x201c;Austin Credit Facility&#x201d;). The weighted average remaining lease term for operating leases is 4.2 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Components of the operating lease costs recognized in net loss were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.314%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.851%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.168%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating lease cost (income)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sub-lease income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental balance sheet information related to the Company&#x2019;s operating leases as of March&#160;31, 2023 and December&#160;31, 2022 are as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.314%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.851%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.168%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:9pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,227&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:9pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowances for depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease assets, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments required under operating leases for each of the 12-month rolling periods below in effect at March&#160;31, 2023 are as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.632%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.168%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 2023 to March 2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;385&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 2024 to March 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 2025 to March 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 2026 to March 2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 2027 to March 2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future undiscounted lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(461)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases for the three months ended March&#160;31, 2023 and 2022, was as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.764%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Supplemental cash flow information&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid, net, for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing cash flows from finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeFinanceLeasesTextBlock>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMzg4Mg_581fbbef-ecd1-40c2-9f89-91eda5c952b1">LEASES&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases certain equipment, manufacturing, warehouse and office space under non-cancellable operating leases with expirations through 2027 under which it is responsible for related maintenance, taxes and insurance. The Company had one finance lease on a forklift containing a bargain purchase option, which was exercised in July 2022. As of March 25, 2022, the terms of our real estate operating lease have been modified beginning July 1, 2022 and extended through 2027. In accordance with ASC 842, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Leases&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; (&#x201c;Topic 842&#x201d;), the related lease liability was remeasured and the right-of-use asset was adjusted for each lease at the time of modification. The present value of the lease obligations for the lease was calculated using an incremental borrowing rate of 16.96%, which was the Company&#x2019;s blended borrowing rates (including interest, annual facility fees, collateral management fees, bank fees and other miscellaneous lender fees) on its revolving lines of credit with Crossroads Financial Group, LLC (as described below in Note 6, &#x201c;Debt&#x201d;) and Factors Southwest L.L.C. (as described below in Note 6, &#x201c;Debt&#x201d;). The present value of the other remaining lease obligations continues to be calculated using an incremental borrowing rate of 7.25% (which excludes the annual facility fee and other lender fees), which was the Company&#x2019;s borrowing rate on its former revolving line of credit with Austin Financial Services, Inc. (the &#x201c;Austin Credit Facility&#x201d;). The weighted average remaining lease term for operating leases is 4.2 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Components of the operating lease costs recognized in net loss were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.314%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.851%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.168%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating lease cost (income)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sub-lease income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental balance sheet information related to the Company&#x2019;s operating leases as of March&#160;31, 2023 and December&#160;31, 2022 are as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.314%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.851%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.168%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:9pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,227&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:9pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowances for depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease assets, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments required under operating leases for each of the 12-month rolling periods below in effect at March&#160;31, 2023 are as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.632%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.168%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 2023 to March 2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;385&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 2024 to March 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 2025 to March 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 2026 to March 2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 2027 to March 2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future undiscounted lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(461)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases for the three months ended March&#160;31, 2023 and 2022, was as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.764%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Supplemental cash flow information&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid, net, for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing cash flows from finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <efoi:LesseeOperatingLeaseInterestRateEffectiveRate
      contextRef="idad41e308b924225b8004097bbd85c14_I20230331"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMTI4Nw_7a950d15-0319-424f-9dc7-f8d75e6ff8d4"
      unitRef="number">0.1696</efoi:LesseeOperatingLeaseInterestRateEffectiveRate>
    <us-gaap:LesseeOperatingLeaseDiscountRate
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMTc4Nw_c66ced08-3c82-4add-a9a8-360b7e79cbb6"
      unitRef="number">0.0725</us-gaap:LesseeOperatingLeaseDiscountRate>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMjA3OQ_dec60cdd-ba2a-4262-a688-915ccfed80f2">P4Y2M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMzg3Ng_dfc2067c-72ce-483f-984c-1d1a9ad6b073">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Components of the operating lease costs recognized in net loss were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.314%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.851%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.168%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating lease cost (income)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sub-lease income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:SubleaseIncome
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjc0NWIxMjRhYmU5MjQ1NWM4MTAyZTQ3ZDRiZTIxMThiL3RhYmxlcmFuZ2U6NzQ1YjEyNGFiZTkyNDU1YzgxMDJlNDdkNGJlMjExOGJfMy01LTEtMS0xMDU5OTQ_9f61dee8-f7af-44b2-a8c7-8c5cd87b9ee1"
      unitRef="usd">0</us-gaap:SubleaseIncome>
    <us-gaap:SubleaseIncome
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjc0NWIxMjRhYmU5MjQ1NWM4MTAyZTQ3ZDRiZTIxMThiL3RhYmxlcmFuZ2U6NzQ1YjEyNGFiZTkyNDU1YzgxMDJlNDdkNGJlMjExOGJfMy03LTEtMS0xMDU5OTQ_2682b2d8-fed8-4aeb-99e8-ae48522baae3"
      unitRef="usd">25000</us-gaap:SubleaseIncome>
    <us-gaap:OperatingLeaseCost
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjc0NWIxMjRhYmU5MjQ1NWM4MTAyZTQ3ZDRiZTIxMThiL3RhYmxlcmFuZ2U6NzQ1YjEyNGFiZTkyNDU1YzgxMDJlNDdkNGJlMjExOGJfNC01LTEtMS0xMDU5OTQ_47000474-8c05-4dc8-bc5c-93cc11d604a2"
      unitRef="usd">117000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjc0NWIxMjRhYmU5MjQ1NWM4MTAyZTQ3ZDRiZTIxMThiL3RhYmxlcmFuZ2U6NzQ1YjEyNGFiZTkyNDU1YzgxMDJlNDdkNGJlMjExOGJfNC03LTEtMS0xMDU5OTQ_5be377b9-9e02-4c3a-995c-87f4c5ec17a5"
      unitRef="usd">132000</us-gaap:OperatingLeaseCost>
    <efoi:OperatingLeaseCostNetOfSubleaseIncome
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjc0NWIxMjRhYmU5MjQ1NWM4MTAyZTQ3ZDRiZTIxMThiL3RhYmxlcmFuZ2U6NzQ1YjEyNGFiZTkyNDU1YzgxMDJlNDdkNGJlMjExOGJfNS01LTEtMS0xMDU5OTQ_b990ecfd-503f-4145-9c74-6273c8e4351a"
      unitRef="usd">117000</efoi:OperatingLeaseCostNetOfSubleaseIncome>
    <efoi:OperatingLeaseCostNetOfSubleaseIncome
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjc0NWIxMjRhYmU5MjQ1NWM4MTAyZTQ3ZDRiZTIxMThiL3RhYmxlcmFuZ2U6NzQ1YjEyNGFiZTkyNDU1YzgxMDJlNDdkNGJlMjExOGJfNS03LTEtMS0xMDU5OTQ_a349b3ad-862d-41e8-800a-affa626a78d2"
      unitRef="usd">107000</efoi:OperatingLeaseCostNetOfSubleaseIncome>
    <efoi:LeaseSupplementalBalanceSheetInformationTableTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMzg1Nw_e7416191-ceb1-4a18-819b-5b49bb3051fb">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental balance sheet information related to the Company&#x2019;s operating leases as of March&#160;31, 2023 and December&#160;31, 2022 are as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.314%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.851%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.168%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:9pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,227&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:9pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowances for depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease assets, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</efoi:LeaseSupplementalBalanceSheetInformationTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfMi0xLTEtMS0xMDU5OTQ_65d69d27-59e3-46af-95f3-5184cdb49e76"
      unitRef="usd">1111000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfMi0zLTEtMS0xMDU5OTQ_3af8992e-0042-48ed-a039-97bc1fccb696"
      unitRef="usd">1180000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiability
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfNi0xLTEtMS0xMDU5OTQ_1e1084d2-bf79-4603-bc83-ac27479a74fc"
      unitRef="usd">1180000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfNi0zLTEtMS0xMDU5OTQ_e3146cb6-90e1-4520-85ed-f41c7976e670"
      unitRef="usd">1227000</us-gaap:OperatingLeaseLiability>
    <efoi:FinanceLeaseRightOfUseAssetGross
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfMTEtMS0xLTEtMTA1OTk0_47bf5e19-2fac-4b1a-ae8d-e2040ef986a4"
      unitRef="usd">13000</efoi:FinanceLeaseRightOfUseAssetGross>
    <efoi:FinanceLeaseRightOfUseAssetGross
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfMTEtMy0xLTEtMTA1OTk0_2ab850be-ef72-4970-939c-720cb12646ae"
      unitRef="usd">13000</efoi:FinanceLeaseRightOfUseAssetGross>
    <efoi:FinanceLeaseRightOfUseAssetAccumulatedDepreciation
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfMTItMS0xLTEtMTA1OTk0_87f24c10-fbe4-47c9-9fc6-148f0ee2bbff"
      unitRef="usd">13000</efoi:FinanceLeaseRightOfUseAssetAccumulatedDepreciation>
    <efoi:FinanceLeaseRightOfUseAssetAccumulatedDepreciation
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfMTItMy0xLTEtMTA1OTk0_c7a7b1a8-ed73-4272-a17d-3c37b5253b93"
      unitRef="usd">13000</efoi:FinanceLeaseRightOfUseAssetAccumulatedDepreciation>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfMTMtMS0xLTEtMTA1OTk0_af1c65bc-3fe3-4a6a-952a-593d5ad4fbba"
      unitRef="usd">0</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOjU3NzkxNWZjMGVkZTQyNjQ5YzM2MjBkMGMyZThlYjAxL3RhYmxlcmFuZ2U6NTc3OTE1ZmMwZWRlNDI2NDljMzYyMGQwYzJlOGViMDFfMTMtMy0xLTEtMTA1OTk0_ec1ee08d-7364-485c-9597-a0df8b10e001"
      unitRef="usd">0</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMzg2NQ_35559e0f-d984-4ae4-94ba-b3f4c1a6bd54">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments required under operating leases for each of the 12-month rolling periods below in effect at March&#160;31, 2023 are as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.632%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.168%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 2023 to March 2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;385&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 2024 to March 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 2025 to March 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 2026 to March 2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 2027 to March 2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future undiscounted lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(461)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,180&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmY1ODdlMDI2YzZkMzRkMWI5N2I0NmRmYTM3ZmU5ZDkwL3RhYmxlcmFuZ2U6ZjU4N2UwMjZjNmQzNGQxYjk3YjQ2ZGZhMzdmZTlkOTBfMi0yLTEtMS0xMDU5OTQ_fa9799d7-7c07-496b-b984-9cf34e26fe83"
      unitRef="usd">385000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmY1ODdlMDI2YzZkMzRkMWI5N2I0NmRmYTM3ZmU5ZDkwL3RhYmxlcmFuZ2U6ZjU4N2UwMjZjNmQzNGQxYjk3YjQ2ZGZhMzdmZTlkOTBfMy0yLTEtMS0xMDU5OTQ_bec3ccd9-575c-4d4d-a5c5-4d36d4de4f76"
      unitRef="usd">379000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmY1ODdlMDI2YzZkMzRkMWI5N2I0NmRmYTM3ZmU5ZDkwL3RhYmxlcmFuZ2U6ZjU4N2UwMjZjNmQzNGQxYjk3YjQ2ZGZhMzdmZTlkOTBfNC0yLTEtMS0xMDU5OTQ_42620970-4afc-4378-b73e-3a0bbea21797"
      unitRef="usd">387000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmY1ODdlMDI2YzZkMzRkMWI5N2I0NmRmYTM3ZmU5ZDkwL3RhYmxlcmFuZ2U6ZjU4N2UwMjZjNmQzNGQxYjk3YjQ2ZGZhMzdmZTlkOTBfNS0yLTEtMS0xMDU5OTQ_c08f0149-c024-42b3-8054-463085f7c1d5"
      unitRef="usd">391000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmY1ODdlMDI2YzZkMzRkMWI5N2I0NmRmYTM3ZmU5ZDkwL3RhYmxlcmFuZ2U6ZjU4N2UwMjZjNmQzNGQxYjk3YjQ2ZGZhMzdmZTlkOTBfNi0yLTEtMS0xMDU5OTQ_d5618415-be99-463f-8f23-0cdeb8d7e781"
      unitRef="usd">99000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmY1ODdlMDI2YzZkMzRkMWI5N2I0NmRmYTM3ZmU5ZDkwL3RhYmxlcmFuZ2U6ZjU4N2UwMjZjNmQzNGQxYjk3YjQ2ZGZhMzdmZTlkOTBfNy0yLTEtMS0xMDU5OTQ_b1ecbafb-5537-4154-93f9-b55ae679fec0"
      unitRef="usd">1641000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmY1ODdlMDI2YzZkMzRkMWI5N2I0NmRmYTM3ZmU5ZDkwL3RhYmxlcmFuZ2U6ZjU4N2UwMjZjNmQzNGQxYjk3YjQ2ZGZhMzdmZTlkOTBfOC0yLTEtMS0xMDU5OTQ_686baf62-ef4a-4873-919f-bb8a8cdadce1"
      unitRef="usd">461000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmY1ODdlMDI2YzZkMzRkMWI5N2I0NmRmYTM3ZmU5ZDkwL3RhYmxlcmFuZ2U6ZjU4N2UwMjZjNmQzNGQxYjk3YjQ2ZGZhMzdmZTlkOTBfOS0yLTEtMS0xMDU5OTQ_dd71c519-d624-42b8-86e8-f17d1311a75e"
      unitRef="usd">1180000</us-gaap:OperatingLeaseLiability>
    <efoi:SupplementalCashFlowInformationRelatedToLeasesTableTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RleHRyZWdpb246YWY0OTZjZGMzMjQ3NGE1Y2I1NjRhNjAyM2JhZTM1N2JfMzg2Nw_6ac88420-17f8-4441-9ba4-2351a2f899a0">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases for the three months ended March&#160;31, 2023 and 2022, was as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.764%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Supplemental cash flow information&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid, net, for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing cash flows from finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</efoi:SupplementalCashFlowInformationRelatedToLeasesTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmVhNjgyZmFmZTczYjRhZTI4OGI2ZDZjMDg2ZjFiYjRhL3RhYmxlcmFuZ2U6ZWE2ODJmYWZlNzNiNGFlMjg4YjZkNmMwODZmMWJiNGFfNC01LTEtMS0xMDU5OTQ_4d4b033a-0eaf-4b8f-a804-4212dcfcfad8"
      unitRef="usd">95000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmVhNjgyZmFmZTczYjRhZTI4OGI2ZDZjMDg2ZjFiYjRhL3RhYmxlcmFuZ2U6ZWE2ODJmYWZlNzNiNGFlMjg4YjZkNmMwODZmMWJiNGFfNC03LTEtMS0xMDU5OTQ_1a4c7fb0-8797-4c2d-91b2-8a9b9537a2e9"
      unitRef="usd">136000</us-gaap:OperatingLeasePayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmVhNjgyZmFmZTczYjRhZTI4OGI2ZDZjMDg2ZjFiYjRhL3RhYmxlcmFuZ2U6ZWE2ODJmYWZlNzNiNGFlMjg4YjZkNmMwODZmMWJiNGFfNi01LTEtMS0xMDU5OTQ_e3ee947e-0fcc-407e-ae82-b6b5282f5f24"
      unitRef="usd">0</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81NS9mcmFnOmFmNDk2Y2RjMzI0NzRhNWNiNTY0YTYwMjNiYWUzNTdiL3RhYmxlOmVhNjgyZmFmZTczYjRhZTI4OGI2ZDZjMDg2ZjFiYjRhL3RhYmxlcmFuZ2U6ZWE2ODJmYWZlNzNiNGFlMjg4YjZkNmMwODZmMWJiNGFfNi03LTEtMS0xMDU5OTQ_d894ebe2-98e7-40a5-ada9-d46846e3ce0e"
      unitRef="usd">1000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfODkxNw_bd3bc5f2-6aae-4033-90b6-6583bce28b85">DEBT&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Credit facilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On August 11, 2020, we entered into two debt financing arrangements (together, the &#x201c;Credit Facilities&#x201d;) that allowed for expanded borrowing capacity at a lower blended borrowing cost. The first arrangement is an inventory financing facility (the &#x201c;Inventory Facility&#x201d;) pursuant to the Loan and Security Agreement (the &#x201c;Inventory Loan Agreement&#x201d;) between the Company and Crossroads Financial Group, LLC, a North Carolina limited liability company (&#x201c;Crossroads&#x201d;). Borrowings under the original Inventory Facility were permitted up to the lower of (i) $3.0 million, which amount was subsequently increased to $3.5 million in April 2021, and (ii) a borrowing base determined from time to time based on the value of the Company&#x2019;s eligible inventory, valued at 75% of inventory costs or 85% of the inventory net orderly liquidation value, less the availability reserves. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On January 18, 2023, the Company and Crossroads entered into an amendment to the Inventory Loan Agreement (the &#x201c;Crossroads Amendment&#x201d;) to restructure and pay down the Inventory Facility. The Crossroads Amendment provides that the Company make payments to reduce the outstanding obligations under the Inventory Facility of $750 thousand by January 20, 2023 and $250 thousand by February 15, 2023 (which amounts the Company has paid). The Company also agreed to make monthly payments of approximately $40 thousand towards the remaining outstanding obligations under the Inventory Facility, and to reduce the maximum amount that may be available to the Company under the Inventory Facility from $3.5 million to $500 thousand, subject to the borrowing base as set forth in the Inventory Loan Agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pursuant to the Crossroads Amendment, Crossroads and the Company also agreed to extend the Inventory Facility&#x2019;s current term through December 31, 2023, while eliminating the minimum borrowing amount and unused line fees and reducing the monthly service fee to a lower, fixed amount. The Company also agreed to a slightly increased interest rate, which was more than offset by the reduction in the monthly service fees. Pursuant to the Crossroads Amendment, the interest rate on borrowings under the Inventory Facility is now a per annum rate equal to (i) the Three-Month LIBOR rate plus 5.5% (currently 10.28% per annum) or (ii) at Crossroads&#x2019; discretion, an alternative reference rate, SOFR (Secured Overnight Financing Rate), plus 6% (currently 10.176% per annum). As of March&#160;31, 2023, the effective rate was equal to 10.44%.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The second Credit Facility was a receivables financing facility (the &#x201c;Receivables Facility&#x201d;) pursuant to the Loan and Security Agreement (the &#x201c;Receivables Loan Agreement&#x201d;) between the Company and Factors Southwest L.L.C. (d/b/a FSW Funding), an Arizona limited liability company (the &#x201c;RF Lender&#x201d;). Borrowings under the Receivables Facility were permitted up to the lower of (i) $2.5 million or (ii) a borrowing base determined from time to time based on the value of the Company&#x2019;s eligible accounts receivable, valued at 90% of the face value of such accounts receivable, less availability reserves, if any. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 7, 2023, the Company and the RF Lender agreed to terminate the Receivables Facility.&#160; All outstanding amounts under the Receivables Facility were repaid prior to termination, and there were no prepayment fees in connection with termination.&#160; The Receivables Facility was secured by substantially all of the present and future assets of the Company and was subject to an intercreditor agreement with the IF Lender, which intercreditor agreement was also terminated.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Borrowings under the Inventory Facility were approximately $400 thousand and $1.4 million at March&#160;31, 2023 and December&#160;31, 2022, respectively. Borrowings under the Receivables Facility were approximately $67 thousand at December&#160;31, 2022. These facilities are recorded in the Condensed Consolidated Balance Sheets as of March&#160;31, 2023 and December&#160;31, 2022 as a current liability under the caption &#x201c;Credit line borrowings.&#x201d; Outstanding balances include unamortized net issuance costs totaling $29 thousand and $47 thousand for the Inventory Facility as of March&#160;31, 2023 and December&#160;31, 2022, respectively, and $15 thousand for the Receivables Facility as of December&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Promissory Notes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the third and fourth quarters of the year ended December 31, 2022, we entered into short-term unsecured promissory notes (the &#x201c;2022 Promissory Notes&#x201d;) with Mei Yun (Gina) Huang, Jay Huang, and Tingyu Lin. Ms. Huang is a member of the Board of Directors and Mr. Huang became a member of the Board of Directors in January 2023 in connection with the Sander Private Placement, as described below in Note 8, &#x201c;Stockholders&#x2019; Equity.&#x201d; The total liability for the 2022 Promissory Notes was $1.5&#160;million at December&#160;31, 2022. All of the 2022 Promissory Notes were exchanged for common stock on January 17, 2023. See Note 8, &#x201c;Stockholders&#x2019; Equity.&#x201d; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following summarizes the 2022 Promissory Notes at December&#160;31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-indent:-36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.082%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.353%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.858%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.353%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.858%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.491%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.996%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.491%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.996%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.491%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.996%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.491%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.720%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.491%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.720%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.313%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="45" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;G. Huang&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;J. Huang&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;J. Huang&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;G. Huang&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;J. Huang&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;J. Huang&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;T. Lin &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Date entered&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;September 16, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;October 25, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;November 4, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;November 9, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 6, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 21, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9 months&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9 months&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9 months&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9 months&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9 months&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9 months&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9 months&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Principal amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$450,000&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$50,000&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$250,000&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$350,000&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$200,000&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$100,000&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$50,000&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$1,450,000&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maturity date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;June 16, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 25, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;August 4, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;August 9, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;September 6, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;September 21, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;September 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Default interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$460,455&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$50,734&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$253,123&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$353,989&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$201,096&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$100,219&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$50,011&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$1,469,627&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Streeterville Notes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;2022 Streeterville Note&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April&#160;21, 2022, we entered into a note purchase agreement (the &#x201c;2022 Streeterville Note Purchase Agreement&#x201d;) with Streeterville Capital, LLC (&#x201c;Streeterville&#x201d;) pursuant to which we sold and issued to Streeterville a promissory note in the principal amount of approximately $2.0 million (as amended, the &#x201c;2022 Streeterville Note&#x201d;). The 2022 Streeterville Note was issued with an original issue discount of $215 thousand and Streeterville paid a purchase price of approximately $1.8 million for the 2022 Streeterville Note, from which the Company paid $15 thousand to Streeterville for Streeterville&#x2019;s transaction expenses. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The 2022 Streeterville Note had an original maturity date of April&#160;21, 2024, and accrues interest at 8% per annum, compounded daily, on the outstanding balance. On January 17, 2023, we agreed with Streeterville to restructure and pay down the 2022 Streeterville Note and extend its maturity date to December 1, 2024 (the &#x201c;2022 Streeterville Note Amendment&#x201d;). We agreed to make payments to reduce the outstanding amounts of the 2022 Streeterville Note by $500 thousand by January 20, 2023 (which amount has been paid) and by $250 thousand by July 14, 2023 ($125&#160;thousand of which has already been satisfied pursuant to the March 2023 Exchange Agreement (as defined below)). Streeterville agreed to extend the term of the 2022 Streeterville Note through December 1, 2024, and beginning January 1, 2024, we would make twelve monthly repayments of approximately $117 thousand each. We would have the right to prepay any of the scheduled repayments at any time or from time to time without additional penalty or fees. Provided we make all payments as scheduled or earlier, the 2022 Streeterville Note will be deemed paid in full and shall automatically be deemed canceled.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 31, 2023, the Company entered into an Exchange Agreement (the &#x201c;March 2023 Exchange Agreement&#x201d;) with Streeterville, pursuant to which we agreed to (i) partition from the 2022 Streeterville Note a new Promissory Note (the &#x201c;March 2023 Partitioned Note&#x201d;) in the original principal amount of $250 thousand (the &#x201c;March 2023 Exchange Amount&#x201d;), (ii) cause the outstanding balance of the 2022 Streeterville Note to be reduced by an amount equal to the March 2023 Exchange Amount, and (iii) exchange (the &#x201c;March 2023 Exchange&#x201d;) the March 2023 Partitioned Note for 502,008 shares of the Company&#x2019;s common stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The March 2023 Exchange was priced at-the-market under the Nasdaq rules and was effected pursuant to one or more exemptions from the registration requirements of the Securities Act of 1933, as amended (the &#x201c;Securities Act&#x201d;). There are no gross proceeds to the Company in respect of the March 2023 Exchange, provided that $125&#160;thousand of the March 2023 Exchange Amount will be applied toward the $250 thousand payment due on or before July 14, 2023 pursuant to the 2022 Streeterville Note Amendment, $125&#160;thousand will be credited to satisfy the December 1, 2024 required payment and a portion of the November 1, 2024 required payment, in each case pursuant to the 2022 Streeterville Note Amendment. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The total liability for the 2022 Streeterville Note, net of discount and financing fees, was approximately $1.3 million and $2.0 million at March&#160;31, 2023 and December&#160;31, 2022, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the event our common stock is delisted from Nasdaq, the amount outstanding under the 2022 Streeterville Note will automatically increase by 15% as of the date of such delisting.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;2021 Streeterville Note&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April&#160;27, 2021, we entered into a note purchase agreement with Streeterville pursuant to which we sold and issued to Streeterville a promissory note in the principal amount of approximately $1.7 million (the &#x201c;2021 Streeterville Note&#x201d;). The 2021 Streeterville Note was issued with an original issue discount of $194&#160;thousand and Streeterville paid a purchase price of $1.5 million for the 2021 Streeterville Note, after deduction of $15&#160;thousand of Streeterville&#x2019;s transaction expenses.  The 2021 Streeterville Note had a maturity date of April&#160;27, 2023, and accrued interest at 8% per annum, compounded daily, on the outstanding balance.&lt;/span&gt;&lt;/div&gt;Beginning on November 1, 2021, Streeterville could require the Company to redeem up to $205&#160;thousand of the 2021 Streeterville Note in any calendar month. The Company had the right on three occasions to defer all redemptions that Streeterville could otherwise require the Company to make during any calendar month. Each exercise of this deferral right by the Company increased the amount outstanding under the Streeterville Note by 1.5%. The Company exercised this right twice during the fourth quarter of 2021, once during the second quarter of 2022 and once during the third quarter of 2022. The Company and Streeterville agreed to exchange common stock, priced at-the-market, for the required redemptions in October 2022 and December 2022, totaling $305&#160;thousand converted to equity.  These exchanges satisfied the redemption notices provided by Streeterville, and following the December 2022 exchange, the 2021 Streeterville Note was paid in full. We wrote off $100&#160;thousand in remaining original issue discount costs at that time.</us-gaap:DebtDisclosureTextBlock>
    <efoi:DebtInstrumentNumberOfCreditFacilities
      contextRef="i7d59226ea92a47fe94617330f9077152_I20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNzI_312601fa-efba-4b9a-8210-f47e4dc7af6e"
      unitRef="creditfacility">2</efoi:DebtInstrumentNumberOfCreditFacilities>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i87fd110b250342b5a0ca26882df52101_I20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTg0_1c8bc8da-b4ae-4ffd-a70f-32ef6bad63d0"
      unitRef="usd">3000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="ic76872a63a204c61b8d0a1b59f160362_I20210420"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNjMx_c3ec6fff-33ae-47b6-83ae-62b0b5ca2172"
      unitRef="usd">3500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <efoi:LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent
      contextRef="i87fd110b250342b5a0ca26882df52101_I20200811"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNzc1_be892af8-3346-42a8-af55-a733cbd398b6"
      unitRef="number">0.75</efoi:LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent>
    <efoi:LineOfCreditFacilityBorrowingCapacityInventoryValuePercent
      contextRef="i87fd110b250342b5a0ca26882df52101_I20200811"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfODAw_6cf42aa1-9d27-42ca-891c-b94706403e6e"
      unitRef="number">0.85</efoi:LineOfCreditFacilityBorrowingCapacityInventoryValuePercent>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="ie09a080a2f994403a9296b83e8cd3cc6_D20230120-20230120"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTQ5NzU1ODU5OTc5_e249296b-611a-4baf-89ec-e05bc002378e"
      unitRef="usd">750000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="i0a09ab1905c0402f85b0f70315110be9_D20230215-20230215"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTQ5NzU1ODYwMDQz_ff346a71-fd18-4751-bfae-28a95036ffc1"
      unitRef="usd">250000</us-gaap:RepaymentsOfLongTermDebt>
    <efoi:RepaymentOfRemainingLongTermDebt
      contextRef="if0af9abe1f1b41199916803eee433b87_D20230120-20230215"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTQ5NzU1ODYwMTM1_837abaf3-54e5-4d52-a1ff-9fe89cfc40a7"
      unitRef="usd">40000</efoi:RepaymentOfRemainingLongTermDebt>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i2214000f620a46028af77f006b1c600f_I20230117"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTE1NDQ4NzIxNDMwODA_cd781afc-3215-4eda-9005-f100ab66ad5c"
      unitRef="usd">3500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i5b393d3ef8e446888aa34122e67c058a_I20230118"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTQ5NzU1ODYwMzI2_c4791be8-309d-4ffc-a1ac-0a629c216247"
      unitRef="usd">500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="if38256cd7d8d439da68d0f81a2089297_I20230118"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTQ5NzU1ODYxNzQ3_10960ef5-8e9b-47c0-8c03-ec302e95c181"
      unitRef="number">0.055</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="i9baf512275464ae68a8b12856ad35e4d_D20230118-20230118"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTQ5NzU1ODYxNzYy_4b4af270-c2de-4bdf-b8cc-7b32c829a536"
      unitRef="number">0.1028</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i7d12fde494e1457aa50b1d34b828319f_I20230118"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTQ5NzU1ODYxODg5_2c7cb971-c376-4fcf-b325-b40836557a18"
      unitRef="number">0.06</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="iaa20b630c02241b9a5a2d0122694ab6f_D20230118-20230118"
      decimals="5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTQ5NzU1ODYxOTA0_3fd42d46-9826-4f5c-8a93-27643c100c2b"
      unitRef="number">0.10176</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i9c51e2968e164b0f9df0a55e449341cc_I20230331"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMjE5OTAyMzMwODA5NQ_d3546625-8b54-44e8-b850-9e68e8bed3dd"
      unitRef="number">0.1044</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="idd8402ce6a974b588caf75db373d50a9_I20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTYzOTAyMw_6822c3d4-bebd-4555-bfc6-da4f4c97d999"
      unitRef="usd">2500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <efoi:LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent
      contextRef="idd8402ce6a974b588caf75db373d50a9_I20200811"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTYzOTE1Nw_10ceb65c-0171-450a-b72a-f9fb67e60dc0"
      unitRef="number">0.90</efoi:LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="i72e1cf94b4064f4ebe75214b3ce623d2_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNDI3MQ_29e74591-0b5a-47fc-acd3-e02f4b64fcae"
      unitRef="usd">400000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="i91c6f338912b435784ccfbddf48168b4_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNDI3OA_b3500c3c-43e2-40cd-91a6-04fd78fda74b"
      unitRef="usd">1400000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="i41e2d0e3e506434fbaa71e7de008b1f5_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNDM2Mw_cc095477-db46-44a7-b78a-7feb48ba4f00"
      unitRef="usd">67000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:UnamortizedDebtIssuanceExpense
      contextRef="i72e1cf94b4064f4ebe75214b3ce623d2_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNDYyMQ_0025e6f8-a01d-43aa-83c1-124d492ee844"
      unitRef="usd">29000</us-gaap:UnamortizedDebtIssuanceExpense>
    <us-gaap:UnamortizedDebtIssuanceExpense
      contextRef="i91c6f338912b435784ccfbddf48168b4_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNDYyOA_f57fd456-3f0b-48ae-87f7-41cfe1d9fb78"
      unitRef="usd">47000</us-gaap:UnamortizedDebtIssuanceExpense>
    <us-gaap:UnamortizedDebtIssuanceExpense
      contextRef="i41e2d0e3e506434fbaa71e7de008b1f5_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNDY2OQ_b2d08e89-3992-4010-b426-bf86c7521ddf"
      unitRef="usd">15000</us-gaap:UnamortizedDebtIssuanceExpense>
    <us-gaap:DueToRelatedPartiesCurrentAndNoncurrent
      contextRef="i7bc73bc5fdb643f5b43333fa3eecd534_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY2MTI1Mg_a485a87b-a7d9-40ac-871f-3de69826bb54"
      unitRef="usd">1500000</us-gaap:DueToRelatedPartiesCurrentAndNoncurrent>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMjc0ODc3OTExNDIzNQ_40e5324c-9f07-4465-a658-740726b4213a">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following summarizes the 2022 Promissory Notes at December&#160;31, 2022:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-indent:-36pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.082%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.353%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.858%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.353%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.858%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.491%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.996%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.491%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.996%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.491%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.996%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.491%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.720%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.491%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.720%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.313%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="45" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;G. Huang&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;J. Huang&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;J. Huang&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;G. Huang&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;J. Huang&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;J. Huang&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;T. Lin &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Date entered&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;September 16, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;October 25, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;November 4, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;November 9, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 6, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 21, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9 months&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9 months&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9 months&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9 months&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9 months&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9 months&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9 months&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Principal amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$450,000&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$50,000&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$250,000&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$350,000&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$200,000&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$100,000&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$50,000&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$1,450,000&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maturity date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;June 16, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;July 25, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;August 4, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;August 9, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;September 6, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;September 21, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;September 30, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Default interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$460,455&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$50,734&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$253,123&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$353,989&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$201,096&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$100,219&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$50,011&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$1,469,627&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:DebtInstrumentTerm
      contextRef="i9090aa53235a4f8281ae161f7e5aa961_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfMy0yLTEtMS0xMDgzODY_6ef07cbd-f11d-4905-9b11-dbf4db340a91">P9M</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentTerm
      contextRef="i1e4ab845c62943cba0ef361c872ab5e1_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfMy00LTEtMS0xMDgzODY_270ea0fc-2b87-40fe-acba-4af022eea237">P9M</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentTerm
      contextRef="i1481182b5bcd495fb59655fe25d7a32c_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfMy02LTEtMS0xMDgzODY_843ad6f0-b648-49d9-b0e9-ac511d817dea">P9M</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentTerm
      contextRef="ia88ab878c60f49778cf704689ad9e111_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfMy04LTEtMS0xMDgzODY_ee27fc40-a2b9-4261-9c5d-b637d6715733">P9M</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentTerm
      contextRef="ia328fe650bf644c1a9b01c5ed0bc439b_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfMy0xMC0xLTEtMTA4Mzg2_01b5cf40-77da-4149-9168-0f8cc72c7d38">P9M</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentTerm
      contextRef="ib63e0653a6d549d8b489d631a56502c0_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfMy0xMi0xLTEtMTA4Mzg2_98368192-4c0e-417f-a893-cc9fe499ba79">P9M</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentTerm
      contextRef="i9a89fbb099a44251804f9fd2862b9c03_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfMy0xNC0xLTEtMTA4Mzg2_074db116-3874-4235-aa03-b58c2a393bea">P9M</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="ib2b69b2bccb249c9bf3d6a207f9bfcf2_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNC0yLTEtMS0xMDgzODY_d9fc1c13-ecdb-4b76-9e56-7fe54171e8da"
      unitRef="usd">450000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="icd3aa5e028ee47d8a27e9aea53cf2352_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNC00LTEtMS0xMDgzODY_1df10dc7-fae6-45ca-9501-7663c20a55f2"
      unitRef="usd">50000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="ia7963026ee6b48c5a9e5db6d78b8289e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNC02LTEtMS0xMDgzODY_9c57047d-0ce1-4b88-900a-95dac88fd03a"
      unitRef="usd">250000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="if6c6687e1b5a48b896939972954ca938_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNC04LTEtMS0xMDgzODY_6f0b6ff9-6bf4-4176-b3d9-c3e10cc6f491"
      unitRef="usd">350000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i0660f7e1b92c47699732e94004e61e52_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNC0xMC0xLTEtMTA4Mzg2_a09884ab-f2b5-4562-887d-005c66594907"
      unitRef="usd">200000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i625e31a0a6624d52ab56d78f040da09d_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNC0xMi0xLTEtMTA4Mzg2_512babb9-08c3-4548-941d-2cec577cf2f2"
      unitRef="usd">100000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i14134504c0f447e8914d00b8e85a0fa6_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNC0xNC0xLTEtMTA4Mzg2_55463e02-c87c-4d4c-900f-73b80585df22"
      unitRef="usd">50000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i46cc008f0e0d4256807d2a588788ec76_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNC0xNS0xLTEtMTE0MjEy_f7c7386f-d07d-48d2-bdb6-6605045662b1"
      unitRef="usd">1450000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="ib2b69b2bccb249c9bf3d6a207f9bfcf2_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNi0yLTEtMS0xMDgzODY_b6cafd04-7d57-4dca-aea3-602089386966"
      unitRef="number">0.08</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="icd3aa5e028ee47d8a27e9aea53cf2352_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNi00LTEtMS0xMDgzODY_c59e8b78-cce8-4815-9e8a-3f9585f6d0ea"
      unitRef="number">0.08</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="ia7963026ee6b48c5a9e5db6d78b8289e_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNi02LTEtMS0xMDgzODY_73bed33f-ab73-4902-b6b7-bfaacb94e315"
      unitRef="number">0.08</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="if6c6687e1b5a48b896939972954ca938_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNi04LTEtMS0xMDgzODY_d1fdd9c7-54d7-4c1d-a959-3d1cb47a889f"
      unitRef="number">0.08</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i0660f7e1b92c47699732e94004e61e52_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNi0xMC0xLTEtMTA4Mzg2_082c6e6d-b74f-4cc3-9142-407231b3a53d"
      unitRef="number">0.08</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i625e31a0a6624d52ab56d78f040da09d_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNi0xMi0xLTEtMTA4Mzg2_cd081733-b781-4171-8a11-ae2fcc5e864b"
      unitRef="number">0.08</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i14134504c0f447e8914d00b8e85a0fa6_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNi0xNC0xLTEtMTA4Mzg2_5b4b158c-0a9b-4420-b6b2-ed9d19ab2c46"
      unitRef="number">0.08</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="i9090aa53235a4f8281ae161f7e5aa961_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNy0yLTEtMS0xMDgzODY_06508610-b689-4edb-a8a5-29c9748da534"
      unitRef="number">0.10</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="i1e4ab845c62943cba0ef361c872ab5e1_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNy00LTEtMS0xMDgzODY_e6781b88-445b-419c-afb3-ffb9f4ec05da"
      unitRef="number">0.10</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="i1481182b5bcd495fb59655fe25d7a32c_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNy02LTEtMS0xMDgzODY_4f218a41-d55d-45c7-baf0-af52019f5aaf"
      unitRef="number">0.10</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="ia88ab878c60f49778cf704689ad9e111_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNy04LTEtMS0xMDgzODY_9eee9973-8a2b-4c4c-87c1-afaf5a51746b"
      unitRef="number">0.10</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="ia328fe650bf644c1a9b01c5ed0bc439b_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNy0xMC0xLTEtMTA4Mzg2_80cc42ca-4d96-4cf6-9bf9-c9f9bb979547"
      unitRef="number">0.10</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="ib63e0653a6d549d8b489d631a56502c0_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNy0xMi0xLTEtMTA4Mzg2_be5d894c-5441-4909-aedc-3c31b0cc7c97"
      unitRef="number">0.10</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:DebtInstrumentInterestRateDuringPeriod
      contextRef="i9a89fbb099a44251804f9fd2862b9c03_D20220101-20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfNy0xNC0xLTEtMTA4Mzg2_ca3063a9-1904-41c7-9b5d-08e1c0f85bb9"
      unitRef="number">0.10</us-gaap:DebtInstrumentInterestRateDuringPeriod>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i9090aa53235a4f8281ae161f7e5aa961_D20220101-20221231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfOC0yLTEtMS0xMDgzODY_e08edd96-e572-40ea-a206-1f2b17b9fd18"
      unitRef="usd">460455</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i1e4ab845c62943cba0ef361c872ab5e1_D20220101-20221231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfOC00LTEtMS0xMDgzODY_00e66b1f-ef80-4dc8-b6a6-da059d0b0014"
      unitRef="usd">50734</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i1481182b5bcd495fb59655fe25d7a32c_D20220101-20221231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfOC02LTEtMS0xMDgzODY_67b796f6-5b3e-4e44-8491-96a2f6210423"
      unitRef="usd">253123</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="ia88ab878c60f49778cf704689ad9e111_D20220101-20221231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfOC04LTEtMS0xMDgzODY_970bcb3b-23fc-4f25-87b4-42ab4801379f"
      unitRef="usd">353989</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="ia328fe650bf644c1a9b01c5ed0bc439b_D20220101-20221231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfOC0xMC0xLTEtMTA4Mzg2_82125485-c008-42b1-9e75-db2b0c0ddd77"
      unitRef="usd">201096</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="ib63e0653a6d549d8b489d631a56502c0_D20220101-20221231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfOC0xMi0xLTEtMTA4Mzg2_bff1a2a0-f5b2-4d56-a297-930176229ee6"
      unitRef="usd">100219</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i9a89fbb099a44251804f9fd2862b9c03_D20220101-20221231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfOC0xNC0xLTEtMTA4Mzg2_63b41247-e915-4842-932b-32d0e1c79f25"
      unitRef="usd">50011</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i294b6d4aeb7a457f9775ade51ca5e3a2_D20220101-20221231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RhYmxlOmI2YmQ2NTZmN2VlMzQwOGVhYTNiZDE5MTEwYzNjYWY2L3RhYmxlcmFuZ2U6YjZiZDY1NmY3ZWUzNDA4ZWFhM2JkMTkxMTBjM2NhZjZfOC0xNS0xLTEtMTE0MjEy_1faf73e3-e84d-4cdb-be22-320b4206cd41"
      unitRef="usd">1469627</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i258c463f8d6b45d3b99ab179cf1800e5_I20220421"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTAyNQ_d0fb24e6-3950-460d-a67a-daf599303c8e"
      unitRef="usd">2000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="i258c463f8d6b45d3b99ab179cf1800e5_I20220421"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTEzNQ_428b3f73-4ba4-467a-873a-c203b81b1159"
      unitRef="usd">215000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="id085ec620a324208b05e91d2f5488a8f_D20220421-20220421"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTE5NQ_4f3b1b33-e67c-4c6f-b989-7e47180b0e9a"
      unitRef="usd">1800000</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="i258c463f8d6b45d3b99ab179cf1800e5_I20220421"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfNTI1OQ_e336557c-25e1-489c-841b-7d8a3d82bce3"
      unitRef="usd">15000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i258c463f8d6b45d3b99ab179cf1800e5_I20220421"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY0MDc3Ng_8e84e3d9-6dfe-457e-8fb3-7de2ef3522c6"
      unitRef="number">0.08</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i718240b797de4b81a0f52acd7f06e10e_I20230120"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY0MTA4OA_ffa4537c-fcfd-47ae-a42e-2fe019112f41"
      unitRef="usd">500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="ifb4f7d5a9229487589f814638a6bf0f5_I20230714"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY0MTE0NQ_4e24381e-a8b8-4ebc-b452-083e7429c3fd"
      unitRef="usd">250000</us-gaap:DebtInstrumentFaceAmount>
    <efoi:DebtInstrumentTrancheAmount
      contextRef="idae42697aa534d7d9d9c78d80fca3f2c_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfOTM0NTg0ODg4NzUxMg_e47083d8-cc1a-4013-9464-3baf37f31bdd"
      unitRef="usd">125000</efoi:DebtInstrumentTrancheAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i7ad51a88357949ddac6065a0c7bc949d_I20240101"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY0MTM1MQ_8f0a3d9d-bc56-4c3d-a5b5-493521ca5cf5"
      unitRef="usd">117000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i6cf66b2f7157468c9efc024e67abb9a4_I20230714"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMjc0ODc3OTExNDE3Ng_06efd05e-d181-421d-8d0c-5696aaf7456d"
      unitRef="usd">250000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i74ca160018094ae1b4880fd12a912840_D20230331-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMjc0ODc3OTExNDE4Ng_04a5e369-f454-4ac6-bb63-690dd364a277"
      unitRef="shares">502008</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <efoi:DebtInstrumentTrancheAmount
      contextRef="i47a06ebba8df4bc19d22f16443a7d6b9_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMjE5OTAyMzMwODEwMw_e112530a-8602-45e6-b8b4-2f8a29ef3fe5"
      unitRef="usd">125000</efoi:DebtInstrumentTrancheAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i6cf66b2f7157468c9efc024e67abb9a4_I20230714"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMjc0ODc3OTExNDIyNg_6b557783-3934-4f0d-85f8-0cbeb16d892a"
      unitRef="usd">250000</us-gaap:DebtInstrumentFaceAmount>
    <efoi:DebtInstrumentTrancheAmount
      contextRef="if26d58668d5c4538a01fdb9128348bc4_I20241201"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMjE5OTAyMzMwODExOA_3a06dafd-511f-48f7-b1c9-d950c14edf2c"
      unitRef="usd">125000</efoi:DebtInstrumentTrancheAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="id347fd24602b438aa1c0ac207d8a7ded_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY3Mjc3NQ_4bdf9e42-d9f5-40fd-90f3-cddc17066167"
      unitRef="usd">1300000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i3f95fa86258c4d7eaaf439b980b73442_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY0MTgwMw_08658f93-0b71-4991-b974-d8800ea19b09"
      unitRef="usd">2000000</us-gaap:DebtInstrumentCarryingAmount>
    <efoi:DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange
      contextRef="i5a1e274029f04a2bb6408c3142d77ad7_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY0MTk1OQ_23d033cd-3ebf-42f4-a360-f31ae560c8a9"
      unitRef="number">0.15</efoi:DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i2d56a47fadc4494ba21b3ffd38eb37bd_I20210427"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY1OTIzOQ_2e85bb25-0ece-46fb-93d5-861b2ffa129d"
      unitRef="usd">1700000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="i2d56a47fadc4494ba21b3ffd38eb37bd_I20210427"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY1OTM1MA_35de74e5-a88b-487c-8440-cc38e934b1ac"
      unitRef="usd">194000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="i170a8d67ff0340198a2cbb66b5887c1e_D20210427-20210427"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY1OTM5Nw_3df5322d-5a7f-4bbf-8a76-360fc6a60375"
      unitRef="usd">1500000</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="i2d56a47fadc4494ba21b3ffd38eb37bd_I20210427"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY1OTQ1Mw_4a3143e1-5b62-43e1-b8ee-9a7a823346f1"
      unitRef="usd">15000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i2d56a47fadc4494ba21b3ffd38eb37bd_I20210427"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY1OTU3OQ_4432130f-b5d1-4263-b215-7ed1a7f33615"
      unitRef="number">0.08</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <efoi:DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount
      contextRef="i2d56a47fadc4494ba21b3ffd38eb37bd_I20210427"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY1OTcyNw_03a309c0-57d6-407b-b797-56f6eb0f5eca"
      unitRef="usd">205000</efoi:DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount>
    <efoi:DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals
      contextRef="i170a8d67ff0340198a2cbb66b5887c1e_D20210427-20210427"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY1OTgxNA_97319ca8-0cba-4c52-9b56-b8b85c95d418"
      unitRef="deferral">3</efoi:DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals>
    <efoi:NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption
      contextRef="i170a8d67ff0340198a2cbb66b5887c1e_D20210427-20210427"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY2MDA2MA_38d2437c-5d67-402c-bad8-0ecf0aba1995"
      unitRef="number">0.015</efoi:NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="i49de9cda51534bd38c86fd46aa5a79a5_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY2MDM3OQ_461f8c12-0434-4e85-a415-dff2d0b1d49c"
      unitRef="usd">305000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:WriteOffOfDeferredDebtIssuanceCost
      contextRef="i298476856ec34f0fa7944b1a381d7ecb_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl81OC9mcmFnOjFiZjUzOTUwZjFmOTQxY2ZiMmUxNmNhYzg4MzEzZjhiL3RleHRyZWdpb246MWJmNTM5NTBmMWY5NDFjZmIyZTE2Y2FjODgzMTNmOGJfMTA5OTUxMTY2MDU4Mg_ceb02131-6f71-454b-b623-0f177f024233"
      unitRef="usd">100000</us-gaap:WriteOffOfDeferredDebtIssuanceCost>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82MS9mcmFnOjk4Y2JiYzkwNmFjMTRmZjA5MzE0NDI5Njc2MjVmOTc4L3RleHRyZWdpb246OThjYmJjOTA2YWMxNGZmMDkzMTQ0Mjk2NzYyNWY5NzhfMTk1OQ_a336edde-2164-4888-9142-6f53b90244c3">INCOME TAXES&lt;div style="margin-bottom:10pt;padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a result of the operating loss incurred during each of the three months ended March&#160;31, 2023 and 2022, and after the application of the annual limitation set forth under Section 382 of the Internal Revenue Code of 1986, as amended (the &#x201c;IRC&#x201d;), it was not necessary to record a provision for U.S. Federal income tax.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At March&#160;31, 2023 and December&#160;31, 2022, we had a full valuation allowance recorded against our deferred tax assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The valuation allowance was recorded due to uncertainties related to our ability to realize the deferred tax assets, primarily consisting of certain net operating loss carry-forwards. The valuation allowance is based on management&#x2019;s estimates of taxable income by jurisdiction and the periods over which the deferred tax assets will be recoverable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2022, we had a net operating loss carry-forward of approximately $132.4 million for federal income tax purposes ($77.6 million for state and local income tax purposes). However, due to changes in our capital structure, approximately $71.0 million of the $132.4 million is available to offset future taxable income after the application of the limitations found under Section 382 of the Internal Revenue Code of 1986, as amended. As a result of the Tax Cuts and Jobs Act of 2017 (the &#x201c;Tax Act&#x201d;), net operating loss carry-forwards generated in tax years beginning after December 31, 2017 can only offset 80% of taxable income and can be carried forward indefinitely. The $9.2 million and $9.6 million in federal net operating losses generated in 2022 and 2021, respectively, will be subject to the new limitations under the Tax Act. If not utilized, the carry-forwards generated prior to December 31, 2017 of $37.5 million will begin to expire in 2023 for federal purposes and have begun to expire for state and local purposes. For a full discussion of the estimated restrictions on our utilization of net operating loss carry-forwards, please refer to Note 11, &#x201c;Income Taxes,&#x201d; included under Item 8, &#x201c;Financial Statements and Supplementary Data,&#x201d; of our 2022 Annual Report.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i9cda1dfa61d34114bc79f5cf7d4436b3_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82MS9mcmFnOjk4Y2JiYzkwNmFjMTRmZjA5MzE0NDI5Njc2MjVmOTc4L3RleHRyZWdpb246OThjYmJjOTA2YWMxNGZmMDkzMTQ0Mjk2NzYyNWY5NzhfODMz_1ed9d770-5eb8-49d5-a6f5-741bc03d73b0"
      unitRef="usd">132400000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i4e65ace7fbb1415f99e5a2fa5e31d1b4_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82MS9mcmFnOjk4Y2JiYzkwNmFjMTRmZjA5MzE0NDI5Njc2MjVmOTc4L3RleHRyZWdpb246OThjYmJjOTA2YWMxNGZmMDkzMTQ0Mjk2NzYyNWY5NzhfODY5_1a1cb391-3e62-4234-8b27-a770b3c09313"
      unitRef="usd">77600000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <efoi:DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations
      contextRef="i9cda1dfa61d34114bc79f5cf7d4436b3_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82MS9mcmFnOjk4Y2JiYzkwNmFjMTRmZjA5MzE0NDI5Njc2MjVmOTc4L3RleHRyZWdpb246OThjYmJjOTA2YWMxNGZmMDkzMTQ0Mjk2NzYyNWY5NzhfOTc4_d761c9b9-d305-41ea-98b8-04b918975aa7"
      unitRef="usd">71000000</efoi:DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i9cda1dfa61d34114bc79f5cf7d4436b3_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82MS9mcmFnOjk4Y2JiYzkwNmFjMTRmZjA5MzE0NDI5Njc2MjVmOTc4L3RleHRyZWdpb246OThjYmJjOTA2YWMxNGZmMDkzMTQ0Mjk2NzYyNWY5NzhfOTg4_1ed9d770-5eb8-49d5-a6f5-741bc03d73b0"
      unitRef="usd">132400000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82MS9mcmFnOjk4Y2JiYzkwNmFjMTRmZjA5MzE0NDI5Njc2MjVmOTc4L3RleHRyZWdpb246OThjYmJjOTA2YWMxNGZmMDkzMTQ0Mjk2NzYyNWY5NzhfMTM5MQ_171ac131-e2f3-472f-a427-83db76234a7f"
      unitRef="usd">9200000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i9d29fd435d4542aa8f23d9515714b4a6_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82MS9mcmFnOjk4Y2JiYzkwNmFjMTRmZjA5MzE0NDI5Njc2MjVmOTc4L3RleHRyZWdpb246OThjYmJjOTA2YWMxNGZmMDkzMTQ0Mjk2NzYyNWY5NzhfMTM5OA_4265ede8-ee83-454b-9743-b4c5c6b5d758"
      unitRef="usd">9600000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82MS9mcmFnOjk4Y2JiYzkwNmFjMTRmZjA5MzE0NDI5Njc2MjVmOTc4L3RleHRyZWdpb246OThjYmJjOTA2YWMxNGZmMDkzMTQ0Mjk2NzYyNWY5NzhfMTYwNQ_68e8a6b7-7651-4233-9617-fe6150339f2c"
      unitRef="usd">37500000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration>
    <us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTU0MQ_18fba7a1-f082-45b1-937a-a10353974d97">STOCKHOLDERS&#x2019; EQUITY&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;March 2023 Private Placements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 28, 2023,the Company entered into a securities purchase agreement with Jay Huang, a member of the Board of Directors, pursuant to which the Company agreed to issue and sell, in a private placement (the &#x201c;March 28, 2023 Private Placement&#x201d;), 108,502 shares of the Company&#x2019;s common stock for a purchase price of $0.5609 per share.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 30, 2023, the Company entered into a securities purchase agreement with Mei Yun (Gina) Huang, a member of the Board of Directors, pursuant to which the Company agreed to issue and sell, in a private placement (collectively with the March 28, 2023 Private Placement, the &#x201c;March 2023 Private Placements&#x201d;), 500,000 shares of the Company&#x2019;s common stock for a purchase price of $0.5000 per share.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Aggregate gross proceeds to the Company in respect of the March 2023 Private Placements were $305 thousand, before deducting estimated offering expenses payable by the Company. Each of the March 2023 Private Placements was priced at-the-market under the Nasdaq rules. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;February 2023 Private Placement&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 24, 2023, the Company entered into a securities purchase agreement with Mei Yun (Gina) Huang, a member of the Board of Directors, pursuant to which the Company agreed to issue and sell, in a private placement (the &#x201c;February 2023 Private Placement&#x201d;), 803,212 shares of the Company&#x2019;s common stock, for a purchase price of $0.4980 per share.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Gross proceeds to the Company in respect of the February 2023 Private Placement were $400&#160;thousand, before deducting estimated offering expenses payable by the Company. The February 2023 Private Placement was priced at fair market value under the Nasdaq rules.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;January 2023 Sander Electronics Private Placement&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On January 17, 2023, the Company entered into a securities purchase agreement (the &#x201c;Sander Purchase Agreement&#x201d;) with certain purchasers associated with Sander Electronics, Inc., pursuant to which the Company agreed to issue and sell in a private placement (the &#x201c;Sander Private Placement&#x201d;) an aggregate of 5,446,252 shares of common stock for a purchase price per share of $0.5008. Consideration for the transaction included exchange of approximately $657 thousand in the aggregate of outstanding amounts on previous short-term bridge financings, including the 2022 Promissory Notes issued to Mr. Huang, as described above in Note 6, &#x201c;Debt&#x201d;.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Aggregate gross proceeds from the Sander Private Placement were approximately $2.1&#160;million. The Sander Private Placement was priced at-the-market under the Nasdaq rules. Pursuant to the Sander Purchase Agreement, the Company agreed to increase the size of the Board of Directors to eight members and to appoint each of Jay (Chiao Chieh) Huang and Wen-Jeng Chang as a director for a term expiring at the 2023 annual meeting of the Company&#x2019;s stockholders or his earlier resignation, death or removal in accordance with the Company&#x2019;s bylaws.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;January 2023 Transactions with Mei Yun (Gina) Huang&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On January 5, 2023, the Company entered into a securities purchase agreement with Mei Yun (Gina) Huang, a member of the Board of Directors, pursuant to which the Company agreed to issue and sell, in a private placement, 257,798 shares of the Company&#x2019;s common stock, for a purchase price of $0.3879 per share. On January 10, 2023, the Company entered into a securities purchase agreement with Ms. Huang, pursuant to which the Company agreed to issue and sell, in a private placement, 325,803 shares of the Company&#x2019;s common stock for a purchase price of $0.4604 per share.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Aggregate gross proceeds to the Company in respect of these private placements to Ms. Huang are $250&#160;thousand, before deducting estimated offering expenses payable by the Company. Each of the private placements to Ms. Huang was priced at fair market value under the Nasdaq rules.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On January 17, 2023, the Company and Ms. Huang entered into exchange agreements pursuant to which the Company and Ms. Huang agreed to exchange the approximately $809,000 aggregate outstanding amounts on previous short-term bridge financings, including the 2022 Promissory Notes issued to Ms. Huang, as described above in Note 6, &#x201c;Debt&#x201d;, for an aggregate of 1,436,959 shares of common stock at a price per share of $0.5630.  The exchanges were priced at fair market value under the Nasdaq rules.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;June 2022 Private Placement&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2022, we completed a private placement (the &#x201c;June 2022 Private Placement&#x201d;) with certain institutional investors for the sale of 1,313,462 shares of our common stock at a purchase price of $1.30 per share. We also sold to the same institutional investors (i) pre-funded warrants (the &#x201c;June 2022 Pre-Funded Warrants&#x201d;) to purchase 1,378,848 shares of common stock at an exercise price of $0.0001 per share and (ii) warrants (collectively with the June 2022 Pre-Funded Warrants, the &#x201c;June 2022 Warrants&#x201d;) to purchase up to an aggregate of 2,692,310 shares of common stock at an exercise price of $1.30 per share. In connection with the June 2022 Private Placement, we paid the placement agent commissions of $252&#160;thousand, plus $35&#160;thousand in expenses, and we also paid legal, accounting and other fees of $47&#160;thousand. Total offering costs of $334&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Condensed Consolidated Balance Sheet as of December&#160;31, 2022. Net proceeds to us from the June 2022 &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Private Placement were approximately $3.2 million. We determined the exercise price of the June 2022 Pre-Funded Warrants to be nominal and, as such, have considered the 1,378,848 shares underlying them to be outstanding effective June 7, 2022, for purposes of calculating net loss per share. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In July 2022, all of the June 2022 Pre-Funded Warrants were exercised. As of March&#160;31, 2023, June 2022 Warrants to purchase an aggregate of 2,692,310 shares of common stock remained outstanding, with an exercise price of $1.30 per share.  The exercise of the remaining June 2022 Warrants outstanding could provide us with cash proceeds of up to $3.5 million in the aggregate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 2021 Private Placement&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2021, we completed a private placement (the &#x201c;December 2021 Private Placement&#x201d;) with certain institutional investors for the sale of 1,193,185 shares of our common stock at a purchase price of $3.52 per share. We also sold to the same institutional investors (i) pre-funded warrants (the &#x201c;December 2021 Pre-Funded Warrants&#x201d;) to purchase 85,228 shares of common stock at an exercise price of $0.0001 per share and (ii) warrants (collectively with the December 2021 Pre-Funded Warrants, the &#x201c;December 2021 Warrants&#x201d;) to purchase up to an aggregate of 1,278,413 shares of common stock at an exercise price of $3.52 per share. In connection with the December 2021 Private Placement, we paid the placement agent commission of $360&#160;thousand plus $42&#160;thousand in expenses and we also paid legal, accounting and other fees of $97&#160;thousand. Total offering costs of $499&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December 31, 2021.  Net proceeds from the December 2021 Private Placement were approximately $4.0 million. We determined the exercise price of the December 2021 Pre-Funded Warrants to be nominal and, as such, considered the 85,228 shares underlying them to be outstanding effective December 16, 2021, for purposes of calculating net loss per share.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In January 2022, all of the December 2021 Pre-Funded Warrants were exercised. As of March&#160;31, 2023, December 2021 Warrants to purchase an aggregate of 1,278,413 shares remained outstanding, with an exercise price of $3.52 per share. The December 2021 Warrants expire on December&#160;16, 2026. The exercise of the remaining December 2021 Warrants outstanding could provide us with cash proceeds of up to $4.5 million in the aggregate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Preferred Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 29, 2019, we issued $1.7&#160;million aggregate principal amount of subordinated convertible promissory notes (the &#x201c;Convertible Notes&#x201d;) to certain investors in a private placement exempt from registration requirements of the Securities Act. The Convertible Notes had a maturity date of December 31, 2021 and bore interest at a rate of 5.0% per annum until June 30, 2019 and at a rate of 10.0% thereafter.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pursuant to the terms of the Convertible Notes, on January 16, 2020, following approval by our stockholders of certain amendments to the Company&#x2019;s Certificate of Incorporation, the principal amount of all of the Convertible Notes and the accumulated interest thereon at the date of conversion (totaling $1.8 million) were converted at a conversion price of $0.67 per share into an aggregate of 2,709,018 shares of the Company&#x2019;s Series A Preferred Stock, which is convertible on a one-for-five basis into shares of our common stock. During the year ended December 31, 2020, 111,548 shares of the Series A Preferred Stock were converted into 22,310 shares of common stock. During the year ended December 31, 2021, 1,721,023 shares of Series A Preferred Stock were converted into 344,205 shares of common stock. The Series A Preferred Stock that was converted in 2021 was held by a Schedule 13D ownership group (under Section 13(d)(3) of the Securities Exchange Act of 1934, as amended, and Rule 13d-5 promulgated thereunder) that includes Fusion Park LLC and 5 Elements Global Fund L.P. (controlled affiliates of James Tu, the Company's former Executive Chairman and Chief Executive Officer), as well as Brilliant Start Enterprise Inc. and Jag International Ltd. (controlled affiliates of Mei Yun (Gina) Huang, a member of the Company's Board of Directors). &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Series A Preferred Stock was created by the filing of a Certificate of Designation with the Secretary of State of the State of Delaware on March 29, 2019, which designated 2,000,000 shares of the Company&#x2019;s preferred stock, par value $0.0001 per share, as Series A Preferred Stock (the &#x201c;Original Series A Certificate of Designation&#x201d;). On January 15, 2020 with prior stockholder approval, the Company amended its Certificate of Incorporation to increase the number of authorized shares of preferred stock to 5,000,000. The Original Series A Certificate of Designation was also amended on January 15, 2020, to increase the number of shares of preferred stock designated as Series A Preferred Stock to 3,300,000 (the Original Series A Certificate of Designation, as so amended, the &#x201c;Series A Certificate of Designation&#x201d;). &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pursuant to the Series A Certificate of Designation, each holder of outstanding shares of Series A Preferred Stock is entitled to vote with holders of outstanding shares of common stock, voting together as a single class, with respect to any and all matters presented to the stockholders of the Company for their action or consideration, except as provided by law. In any such vote, each share of Series A Preferred Stock shall entitle its holder to a number of votes equal to 11.07% of the number of shares of common stock into which such share of Series A Preferred Stock is convertible.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Series A Preferred Stock (a) has a preference upon liquidation equal to $0.67 per share and then participates on an as-converted basis with the common stock with respect to any additional distributions, (b) shall receive any dividends declared and payable on our common stock on an as-converted basis, and (c) is convertible at the option of the holder into shares of our common stock on a one-for-five basis. On March 29, 2019, the Company also filed a Certificate of Elimination with respect to its authorized, but unissued, Series A Participating Preferred Stock, to return such shares to the status of undesignated preferred stock available for designation as Series A Preferred Stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The purchase agreement related to the Convertible Notes contains customary representations and warranties and provides for resale registration rights with respect to the shares of our common stock issuable upon conversion of the Series A Preferred Stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;January 2020 Equity Offering&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Issuance of Common Stock and Warrants&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In January 2020, we completed a registered direct offering for the sale of 688,360 shares of our common stock to certain institutional investors, at a purchase price of $3.37 per share. We also sold, to the same institutional investors, warrants (the &#x201c;January 2020 Investor Warrants&#x201d;) to purchase up to 688,360 shares of common stock at an exercise price of $3.37 per share in a concurrent private placement for a purchase price of $0.625 per warrant. In addition, we issued to the placement agent in connection with such registered direct offering and concurrent private placement warrants (the &#x201c;January 2020 Placement Agent Warrants&#x201d; and, collectively with the January 2020 Investor Warrants, the &#x201c;January 2020 Warrants&#x201d;) to purchase up to 48,185 shares of common stock at an exercise price of $4.99 per share.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;January 2020 Warrants issued to purchase an aggregate of 229,414 shares remain outstanding at March&#160;31, 2023 with a weighted average exercise price of $3.67 per share. The exercise of January 2020 Warrants could provide us with cash proceeds of up to approximately $0.8 million in the aggregate if all January 2020 Warrants are exercised. During the three months ended March 31, 2023 and March&#160;31, 2022, no January 2020 Warrants were exercised. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of March&#160;31, 2023 and 2022, we had the following outstanding January 2020 Warrants:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.482%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.116%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.266%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.266%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.270%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of March&#160;31, 2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of March&#160;31, 2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number of Underlying Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Expiration&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Jan. 2020 Investor Warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187,734&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187,734&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$3.3700&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;January 13, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Jan. 2020 Placement Agent Warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,680&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,680&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$4.9940&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;January 13, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;229,414&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;229,414&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Stock-based compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation expense is attributable to stock options and restricted stock unit awards. For all stock-based awards, we recognize expense using a straight-line amortization method.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes stock-based compensation expense and the impact it had on operations for the periods presented (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Product development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general, and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total unearned stock-based compensation was $144 thousand at March&#160;31, 2023, compared to $285 thousand at March&#160;31, 2022. These costs will be charged to expense and amortized on a straight-line basis in future periods. The weighted average period over which the unearned compensation at March&#160;31, 2023 is expected to be recognized is approximately 2.6 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Stock options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of each stock option is estimated on the date of grant using the Black-Scholes option pricing model. Estimates utilized in the calculation include the expected life of the option, risk-free interest rate, and expected volatility, and are further detailed below. Note that there were no grants made during the three months ended March 31, 2023. &lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.966%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair value of options issued&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;NA&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercise price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;NA&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected life of options (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;NA&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;NA&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;NA&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;NA&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of option activity under all outstanding stock incentive plans for the three months ended March 31, 2023 is presented as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.398%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.570%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number of&lt;br/&gt;Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price Per&lt;br/&gt;Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&lt;br/&gt;Life (in years)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330,808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.97&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canceled/forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(65,903)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance at March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;264,905&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Vested and expected to vest at March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.8&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Exercisable at March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;66,734&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.6&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Restricted stock units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of restricted stock unit activity under all outstanding stock incentive plans for the three months ended March 31, 2023 is presented as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.398%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.570%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Restricted&lt;br/&gt;Stock Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&lt;br/&gt;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&lt;br/&gt;Life (in years)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance at March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.4&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i9c60bcb6f9204487abe1389cf0b906f3_D20230328-20230328"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTU5Nw_3a85cde5-ff74-4c2b-8275-940423e103e2"
      unitRef="shares">108502</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="i7027c559cc3f49338bee54f4a4847204_I20230328"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTYwNg_23fe6514-7733-4b25-8bf5-a5425e64883d"
      unitRef="usdPerShare">0.5609</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="ib5c22671d2d54df7960676b0e3169188_D20230330-20230330"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTYxNQ_07a44b23-173b-44a4-b35a-e0f3da43319b"
      unitRef="shares">500000</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="ifd269d1cfda943c8ae919496a2d5ef67_I20230330"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTYzNA_ec288c66-a96b-47f9-a12b-ba2306bab5dd"
      unitRef="usdPerShare">0.5000</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ProceedsFromIssuanceOfPrivatePlacement
      contextRef="i291460a436e74a8890d1eb5273d6099b_D20230301-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTYyNA_4d0fcd50-747f-4398-a71f-e5a3720a051f"
      unitRef="usd">305000</us-gaap:ProceedsFromIssuanceOfPrivatePlacement>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="id9865a7bc8704943b0939a50784649a2_D20230224-20230224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTY1Mg_bae8db17-a3f9-424d-a02b-16ef7377023f"
      unitRef="shares">803212</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="i8ef04b71592a400d908db421090dd9ce_I20230224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTY0Mw_58cb692a-9865-4b9d-802f-0b2117ad70df"
      unitRef="usdPerShare">0.4980</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ProceedsFromIssuanceOfPrivatePlacement
      contextRef="id9865a7bc8704943b0939a50784649a2_D20230224-20230224"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTY3MA_2f56424a-396e-47e2-a6bf-299bf897c9a5"
      unitRef="usd">400000</us-gaap:ProceedsFromIssuanceOfPrivatePlacement>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i6bf9ed1c24de4a6693287e8c35e9a8d4_D20230117-20230117"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTM0NTg0ODg2NTc4Mg_c53f87f4-0e0a-48bd-8cb7-2a3ea57c0d1a"
      unitRef="shares">5446252</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="i1976d998f5364ca4b597c24061942a31_I20230117"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTM0NTg0ODg2NTc5Mw_77ba0409-631b-48d2-a6b2-0b6564a992bf"
      unitRef="usdPerShare">0.5008</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ShortTermBorrowings
      contextRef="i11ba3f0a339e4defa9dcf9d51423839b_I20230117"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTM0NTg0ODg2NTgwMg_0b7e4571-0af3-447e-847c-f1aaaee173ae"
      unitRef="usd">657000</us-gaap:ShortTermBorrowings>
    <us-gaap:ProceedsFromIssuanceOfPrivatePlacement
      contextRef="i7561d7d2fabb42c3825cffe8d28091c7_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMzI5ODUzNDkxMzA3MQ_5d52cd65-8226-473e-b7a4-afee5408dd81"
      unitRef="usd">2100000</us-gaap:ProceedsFromIssuanceOfPrivatePlacement>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i1c69db5fe96c427d8cfee54829689680_D20230105-20230105"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5MzA1OQ_cf2e7009-2493-4a65-8245-311d88653452"
      unitRef="shares">257798</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="ic350bac6fc4d4c42b2cb49046bbba055_I20230105"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5MzA2OA_ec8e7c14-f624-44cd-b3f7-3f0f19b7c09b"
      unitRef="usdPerShare">0.3879</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="if27559900ba14605aa5b017a92c425d5_D20230110-20230110"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5MzA4Ng_f596ebde-cc0e-488a-895b-4e330d0e3555"
      unitRef="shares">325803</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="i28c47b0aabd34a3983363e49aef3fe35_I20230110"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5MzA3Nw_b0bd5222-cde8-4b64-982e-5fc335d5758b"
      unitRef="usdPerShare">0.4604</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ProceedsFromIssuanceOfPrivatePlacement
      contextRef="ib620521ca9b04958baba9c5cb5835fd8_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5MzEyNQ_e8c975bb-9efa-42ec-bd4e-c6dde17226d9"
      unitRef="usd">250000</us-gaap:ProceedsFromIssuanceOfPrivatePlacement>
    <us-gaap:ProceedsFromIssuanceOfPrivatePlacement
      contextRef="i22dac5734a23420daa88677f1e86cffb_D20230117-20230117"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5MzA5NQ_4dedb747-a9db-4229-bd07-8c1d6188181d"
      unitRef="usd">809000</us-gaap:ProceedsFromIssuanceOfPrivatePlacement>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i22dac5734a23420daa88677f1e86cffb_D20230117-20230117"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5MzEwNQ_fe1ae52a-6a29-40ea-882a-4f56ff24f326"
      unitRef="shares">1436959</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="ibd7c40c732534005aecb39edffb318e1_I20230117"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5MzExNg_b4119bb5-5f31-45bd-9bec-adb04b76923b"
      unitRef="usdPerShare">0.5630</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i0bf245a9398c45ab9aba5d709a637fba_D20220601-20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzNzQ4MA_5bf2ea2e-4839-4464-83d9-ccf0e3b988a0"
      unitRef="shares">1313462</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="i7cc420d30737483fa70487c04fb1e454_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzNzUzNA_7f623c7f-8226-441e-8708-89d461262c54"
      unitRef="usdPerShare">1.30</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i6668546623db4539a1a0c44cb5d2a5f6_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzNzY0NA_21748ab4-8c35-4b3a-8bd2-04e5432a162c"
      unitRef="shares">1378848</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i6668546623db4539a1a0c44cb5d2a5f6_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzNzY5NQ_0a7ba440-a91c-4566-9d91-e8db97cdb0b3"
      unitRef="usdPerShare">0.0001</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="ic55e4555f8744a3b967ad970b478a329_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzNzc2MQ_ccff960b-931e-4db5-b9ee-0bde392e3835"
      unitRef="shares">2692310</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="ic55e4555f8744a3b967ad970b478a329_I20220630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzNzgxMg_4aaaba6f-cc47-4e4a-b4e5-e14e1845aaf3"
      unitRef="usdPerShare">1.30</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:PaymentsForPlacementAgentCommissions
      contextRef="i0bf245a9398c45ab9aba5d709a637fba_D20220601-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzNzkyMg_041b6381-3fa8-4090-8dab-c9d44384a1ad"
      unitRef="usd">252000</efoi:PaymentsForPlacementAgentCommissions>
    <efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement
      contextRef="i0bf245a9398c45ab9aba5d709a637fba_D20220601-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzNzkzMg_808ec461-62e8-4611-bc71-f1bec3e18375"
      unitRef="usd">35000</efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement>
    <efoi:PaymentsForClearingFees
      contextRef="i0bf245a9398c45ab9aba5d709a637fba_D20220601-20220630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzODAwMg_2a6f98db-0000-4428-91b6-b10bac77203f"
      unitRef="usd">47000</efoi:PaymentsForClearingFees>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="i496d4240f2c04e9e830137e11845cd80_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzODAzMQ_0680ed6a-7026-41d0-9905-d30b3b14e133"
      unitRef="usd">334000</us-gaap:PaymentsOfStockIssuanceCosts>
    <efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts
      contextRef="i0bf245a9398c45ab9aba5d709a637fba_D20220601-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzODI2NQ_92adf45d-804f-478d-95f9-c40bb32059c9"
      unitRef="usd">3200000</efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i6668546623db4539a1a0c44cb5d2a5f6_I20220630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzODM4OA_7cbd7e43-22f3-4ef4-abe9-ffab7f9027ed"
      unitRef="shares">1378848</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i7aab7607ff8d425bbe2d816b84f72323_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzODYzNQ_4ed02a56-d2dc-43bf-8c82-6f0074da2088"
      unitRef="shares">2692310</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i7aab7607ff8d425bbe2d816b84f72323_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzODcxMA_429d8d28-1673-4094-9167-a8f3f59829c5"
      unitRef="usdPerShare">1.30</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:EstimatedProceedsFromIssuanceOfWarrants
      contextRef="i644d63cb81c64c69a207f69a4088a6ed_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA5OTUxMTYzODgzMg_43080ca2-9c39-46f7-9285-7d914867374b"
      unitRef="usd">3500000</efoi:EstimatedProceedsFromIssuanceOfWarrants>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i69885f7bf8744a93a44bc87c138ac3b1_D20211201-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTg2_cb24f443-6f51-4fc6-bdef-6c789461b002"
      unitRef="shares">1193185</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="i12dea23a546e4b08b0ba38de5742b60a_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjM5_900e072b-8690-4cb1-8091-8f1ccf439dea"
      unitRef="usdPerShare">3.52</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="ib620e4eb1b0a4daeaaba69a3bbe3b84e_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMzM4_9ff83029-34c7-44a3-a1fc-1eefe517d67c"
      unitRef="shares">85228</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="ib620e4eb1b0a4daeaaba69a3bbe3b84e_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMzg4_c60a213b-514f-4192-a4e3-4ed3e00b4da1"
      unitRef="usdPerShare">0.0001</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="ieae979ec2cf94da093b3272417381bcd_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNDUz_d5503888-7627-45a3-b04f-cadcf6244cea"
      unitRef="shares">1278413</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="ieae979ec2cf94da093b3272417381bcd_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNTAz_1f4ebed2-e1eb-4421-8ae5-946f85570bdc"
      unitRef="usdPerShare">3.52</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:PaymentsForPlacementAgentCommissions
      contextRef="i69885f7bf8744a93a44bc87c138ac3b1_D20211201-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNjE1_862e2325-00c3-4717-9793-7caac80f97e9"
      unitRef="usd">360000</efoi:PaymentsForPlacementAgentCommissions>
    <efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement
      contextRef="i69885f7bf8744a93a44bc87c138ac3b1_D20211201-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNjIz_5e627d79-cefb-4ddc-9918-91d0ced9091b"
      unitRef="usd">42000</efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement>
    <efoi:PaymentsForClearingFees
      contextRef="i69885f7bf8744a93a44bc87c138ac3b1_D20211201-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNjkx_51b61682-2e18-4db6-8f67-572a97c29a66"
      unitRef="usd">97000</efoi:PaymentsForClearingFees>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="i69885f7bf8744a93a44bc87c138ac3b1_D20211201-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNzE5_5789959d-9def-49e3-9deb-9faeee4320bf"
      unitRef="usd">499000</us-gaap:PaymentsOfStockIssuanceCosts>
    <efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts
      contextRef="i69885f7bf8744a93a44bc87c138ac3b1_D20211201-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTM5_d5b84712-f008-4774-86e4-76ca06f799dc"
      unitRef="usd">4000000</efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i074f11f03e774242b1ecb598bd4cea7f_D20211216-20211216"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTA0Ng_d4b8450d-6456-4e05-89f7-f15fa6e81d63"
      unitRef="shares">85228</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="idd12a3606e1349c4b2047634fc7ede76_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTI5Mw_2e334674-d73a-41f8-81be-30e6c6220330"
      unitRef="shares">1278413</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="idd12a3606e1349c4b2047634fc7ede76_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTM1MQ_8a7a17a7-f3b6-40bc-8d2f-3913c3b0c9fc"
      unitRef="usdPerShare">3.52</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:EstimatedProceedsFromIssuanceOfWarrants
      contextRef="i1f8e23f1e58546ce941c30d8eb491023_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMTUxNg_1f8d3545-d460-41dc-8b89-a5190b9c23c6"
      unitRef="usd">4500000</efoi:EstimatedProceedsFromIssuanceOfWarrants>
    <us-gaap:ProceedsFromIssuanceOfSubordinatedLongTermDebt
      contextRef="i12927e9338144a7eb412104e8c6ace1a_D20190329-20190329"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTM0NTg0ODg2NTgxMg_3b091d91-8dfd-43b5-9985-7268788530f3"
      unitRef="usd">1700000</us-gaap:ProceedsFromIssuanceOfSubordinatedLongTermDebt>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="ie63a2681dbee426b840138c1c3f1c9d7_I20190630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTM0NTg0ODg2NTgzMw_d2af45a8-f344-4951-b590-c3966960f168"
      unitRef="number">0.050</us-gaap:DerivativeFixedInterestRate>
    <us-gaap:DerivativeFixedInterestRate
      contextRef="ie144f28839aa444d922bb66c92486a03_I20190701"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTM0NTg0ODg2NTgyNg_d5b105eb-7b0d-4a59-80d9-dcea2a7378c2"
      unitRef="number">0.100</us-gaap:DerivativeFixedInterestRate>
    <efoi:NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock
      contextRef="i601e3044a28047b98b3e2a30d9c29e43_D20200116-20200116"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjQ3OA_5c3820cb-1a66-467e-9089-1db334ebee8e"
      unitRef="usd">1800000</efoi:NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="i35b137a8f2404f898c2e3b2ad1314945_I20200116"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjUyMg_92e5a35b-03c1-4f79-87d3-b369718284cf"
      unitRef="usdPerShare">0.67</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i601e3044a28047b98b3e2a30d9c29e43_D20200116-20200116"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjU1Ng_8fb7e394-4e63-4b20-880f-94ee396d886c"
      unitRef="shares">2709018</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="ia50ca055e69a4b99bf1a4547a63d79d5_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjcyOA_a3bdca7d-9560-4283-8569-0f3cb7c00ab2"
      unitRef="shares">111548</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i0261bef7689546bb92cca9989ac1ee5f_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc5MA_5f6f4e95-9600-4382-b560-35a6ebe7b21d"
      unitRef="shares">22310</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="ie785e1b01ce144978c696c964d3f74b1_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjg1OA_1c4b3a4f-e78a-4266-bb60-8982ff197f75"
      unitRef="shares">1721023</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i5b71515002e541fba61b2b939bd235f4_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjkxNg_a686a6dc-eadd-4813-9abf-45c113ee70fe"
      unitRef="shares">344205</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ib1428b5108e841cf9d83692503d4b513_I20190329"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMzg2OQ_27232a00-90f9-41ee-9947-e33f97250d86"
      unitRef="shares">2000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ib1428b5108e841cf9d83692503d4b513_I20190329"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMzkyMw_aaca4e50-5f06-4c26-8cce-e2c7304bd01f"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ic491b39a305d42b5af19a65aec7b34b1_I20200115"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNDE5MQ_a58e9f99-bd55-4bb3-b8aa-f0a9d92e6d3c"
      unitRef="shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i1d9aeb6fd9ca45dfbc7f484c850f3d8f_I20200115"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNDM3Ng_79ffd134-c58a-4614-8adb-93c32517daea"
      unitRef="shares">3300000</us-gaap:PreferredStockSharesAuthorized>
    <efoi:PercentageOfSeriesAPreferredStockEligibleToVote
      contextRef="ifbb95b0452954896a5a02ad5df96371e_D20200116-20200116"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNDk2Nw_7e059277-46c5-4107-adfd-bc42452492b0"
      unitRef="number">0.1107</efoi:PercentageOfSeriesAPreferredStockEligibleToVote>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="i35b137a8f2404f898c2e3b2ad1314945_I20200116"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNTE1Mg_92e5a35b-03c1-4f79-87d3-b369718284cf"
      unitRef="usdPerShare">0.67</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="if71e51af4c6343f8a9dbdd3e76dc5c64_D20200101-20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNjE1NA_76f942d1-800e-4315-b2a1-4702c5ea33b6"
      unitRef="shares">688360</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="ifb08d9a40cab4e0eab82621d0ad95c8a_I20200131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNjI0Mw_75218437-537f-4ddf-9fae-247ae884e949"
      unitRef="usdPerShare">3.37</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="ifb08d9a40cab4e0eab82621d0ad95c8a_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNjM0OA_beb144ad-5d28-4245-b845-ef09615278b5"
      unitRef="shares">688360</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="ife8e2ca953054aeaba994b6e6be18d10_I20200131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNjM5OA_e1b6e651-21eb-405c-97ba-6ceea72b1bc9"
      unitRef="usdPerShare">3.37</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:ClassOfWarrantOrRightWarrantsIssuedPricePerShare
      contextRef="if71e51af4c6343f8a9dbdd3e76dc5c64_D20200101-20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNjQ2OQ_da5fca3a-476d-4c07-a417-dab5eb911d46"
      unitRef="usdPerShare">0.625</efoi:ClassOfWarrantOrRightWarrantsIssuedPricePerShare>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="ibba592b486134badbe15078e7e18f53a_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5NDMyMw_ba02fdbd-f0a3-40f6-8da0-e7c11d572253"
      unitRef="shares">48185</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="ibba592b486134badbe15078e7e18f53a_I20200131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjE5OTAyMzI5NDMzMQ_483fc12d-a5ee-4ab3-bc7a-d6c2a58558dc"
      unitRef="usdPerShare">4.99</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i3c1bc63ce1f040569c6d64a5cf208f9b_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNzIwOQ_49b600e6-d472-4c44-ab38-8c26f09ba9aa"
      unitRef="shares">229414</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i94855a7a54934b0da586d3b674eb0722_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNzI4Ng_a105b96a-0469-41d4-a59e-62bb4650d72a"
      unitRef="usdPerShare">3.67</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:EstimatedProceedsFromIssuanceOfWarrants
      contextRef="i3c1bc63ce1f040569c6d64a5cf208f9b_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNzM3MA_a8df5807-26b4-4880-97d9-366dfa8ada91"
      unitRef="usd">800000</efoi:EstimatedProceedsFromIssuanceOfWarrants>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="i794af841c00e46529844c235b8236cf0_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNzQzNg_e13a50ac-3d85-49c0-84f9-20a2f7bed87b"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="i3c1bc63ce1f040569c6d64a5cf208f9b_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfNzQzNg_f1c9c3a2-c0ca-480c-b97d-1ccf54abd140"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTU0NA_e94efda0-447d-4bd8-bb61-df41150608cd">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of March&#160;31, 2023 and 2022, we had the following outstanding January 2020 Warrants:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.482%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.116%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.266%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.266%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.270%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of March&#160;31, 2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of March&#160;31, 2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number of Underlying Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Expiration&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Jan. 2020 Investor Warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187,734&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187,734&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$3.3700&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;January 13, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Jan. 2020 Placement Agent Warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,680&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,680&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$4.9940&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;January 13, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;229,414&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;229,414&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i7411641aa95f4029850044a4e3ad38d6_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjhlZDg3MjU3YmViMzRkYzk5M2JmOTQ0MDMwNjNkYjgwL3RhYmxlcmFuZ2U6OGVkODcyNTdiZWIzNGRjOTkzYmY5NDQwMzA2M2RiODBfMi0xLTEtMS0xMDU5OTQ_04c139fc-13a1-4dc0-9bcc-789b7ca61946"
      unitRef="shares">187734</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i2858fe93457e47db8bb1de5daf816c95_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjhlZDg3MjU3YmViMzRkYzk5M2JmOTQ0MDMwNjNkYjgwL3RhYmxlcmFuZ2U6OGVkODcyNTdiZWIzNGRjOTkzYmY5NDQwMzA2M2RiODBfMi0zLTEtMS0xMDU5OTQ_6aa8347b-f8ba-42d1-942f-ed3d4fb10191"
      unitRef="shares">187734</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="i45fa612b43eb4bd486c6e3a20bd74bfe_I20230331"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjhlZDg3MjU3YmViMzRkYzk5M2JmOTQ0MDMwNjNkYjgwL3RhYmxlcmFuZ2U6OGVkODcyNTdiZWIzNGRjOTkzYmY5NDQwMzA2M2RiODBfMi01LTEtMS0xMDU5OTQ_75c6d544-3a1f-4703-8386-fb1518f540ff"
      unitRef="usdPerShare">3.3700</us-gaap:SaleOfStockPricePerShare>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i2dac718f7ea8418e8d1ad13aceffb769_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjhlZDg3MjU3YmViMzRkYzk5M2JmOTQ0MDMwNjNkYjgwL3RhYmxlcmFuZ2U6OGVkODcyNTdiZWIzNGRjOTkzYmY5NDQwMzA2M2RiODBfMy0xLTEtMS0xMDU5OTQ_674e2b63-e8f0-4fdd-b636-6d0cc7a4b072"
      unitRef="shares">41680</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i92f443a8028149b19c6e6ee056d8c7f7_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjhlZDg3MjU3YmViMzRkYzk5M2JmOTQ0MDMwNjNkYjgwL3RhYmxlcmFuZ2U6OGVkODcyNTdiZWIzNGRjOTkzYmY5NDQwMzA2M2RiODBfMy0zLTEtMS0xMDU5OTQ_c33e1e0b-b084-46a2-9f8c-37c6292f52bf"
      unitRef="shares">41680</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i22e1f0a92b7f4cd6b77bc7c30d68fd99_I20230331"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjhlZDg3MjU3YmViMzRkYzk5M2JmOTQ0MDMwNjNkYjgwL3RhYmxlcmFuZ2U6OGVkODcyNTdiZWIzNGRjOTkzYmY5NDQwMzA2M2RiODBfMy01LTEtMS0xMDU5OTQvdGV4dHJlZ2lvbjozMTA3MTQ1ZDViYWQ0OWFkOGY5NzBiOWJiMTQ1OTdjM180_dbefd78c-f542-429e-a8dc-761acea15ee3"
      unitRef="usdPerShare">4.9940</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i3c1bc63ce1f040569c6d64a5cf208f9b_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjhlZDg3MjU3YmViMzRkYzk5M2JmOTQ0MDMwNjNkYjgwL3RhYmxlcmFuZ2U6OGVkODcyNTdiZWIzNGRjOTkzYmY5NDQwMzA2M2RiODBfNC0xLTEtMS0xMDU5OTQ_06b9b0b5-2911-4134-b6e9-d99f9c605780"
      unitRef="shares">229414</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i794af841c00e46529844c235b8236cf0_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjhlZDg3MjU3YmViMzRkYzk5M2JmOTQ0MDMwNjNkYjgwL3RhYmxlcmFuZ2U6OGVkODcyNTdiZWIzNGRjOTkzYmY5NDQwMzA2M2RiODBfNC0zLTEtMS0xMDU5OTQ_e2540cb1-fbbd-4863-8a2d-e57b6dcd810b"
      unitRef="shares">229414</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTUyMQ_1aacb46b-c4dc-42bc-8901-49b11b4e7085">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes stock-based compensation expense and the impact it had on operations for the periods presented (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.614%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.167%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Product development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general, and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i2d2127a8f233485ba4347070cedb0568_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmI3MDk2MTY4NzkzZDQ4MTc4OWMxNGM3OThjZTJkMDU2L3RhYmxlcmFuZ2U6YjcwOTYxNjg3OTNkNDgxNzg5YzE0Yzc5OGNlMmQwNTZfMi01LTEtMS0xMDU5OTQ_12a5d3df-bba2-492e-9644-e7ee8ffdf964"
      unitRef="usd">0</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i97950f64fa9243a1bccc32d8c2492208_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmI3MDk2MTY4NzkzZDQ4MTc4OWMxNGM3OThjZTJkMDU2L3RhYmxlcmFuZ2U6YjcwOTYxNjg3OTNkNDgxNzg5YzE0Yzc5OGNlMmQwNTZfMi03LTEtMS0xMDU5OTQ_89878072-172f-41d4-a90d-6981a1dff006"
      unitRef="usd">1000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iee298cab50824f879c844578b9ae01fd_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmI3MDk2MTY4NzkzZDQ4MTc4OWMxNGM3OThjZTJkMDU2L3RhYmxlcmFuZ2U6YjcwOTYxNjg3OTNkNDgxNzg5YzE0Yzc5OGNlMmQwNTZfMy01LTEtMS0xMDU5OTQ_a196775d-f576-457e-9d5d-5b0761cc91df"
      unitRef="usd">4000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia840289d38cc4de4b6889e10e57d8f4a_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmI3MDk2MTY4NzkzZDQ4MTc4OWMxNGM3OThjZTJkMDU2L3RhYmxlcmFuZ2U6YjcwOTYxNjg3OTNkNDgxNzg5YzE0Yzc5OGNlMmQwNTZfMy03LTEtMS0xMDU5OTQ_70287662-e8ed-4b1a-aedd-12b7531bb491"
      unitRef="usd">6000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0b7a3591d13f40498199436a4918bdae_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmI3MDk2MTY4NzkzZDQ4MTc4OWMxNGM3OThjZTJkMDU2L3RhYmxlcmFuZ2U6YjcwOTYxNjg3OTNkNDgxNzg5YzE0Yzc5OGNlMmQwNTZfNC01LTEtMS0xMDU5OTQ_3bc688fe-6a0b-4472-9583-1047d5030f71"
      unitRef="usd">22000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie7343fdb57a840bdbf54fb0a3f469aef_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmI3MDk2MTY4NzkzZDQ4MTc4OWMxNGM3OThjZTJkMDU2L3RhYmxlcmFuZ2U6YjcwOTYxNjg3OTNkNDgxNzg5YzE0Yzc5OGNlMmQwNTZfNC03LTEtMS0xMDU5OTQ_5e311401-842f-48c9-be3f-9476d9dd095f"
      unitRef="usd">37000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmI3MDk2MTY4NzkzZDQ4MTc4OWMxNGM3OThjZTJkMDU2L3RhYmxlcmFuZ2U6YjcwOTYxNjg3OTNkNDgxNzg5YzE0Yzc5OGNlMmQwNTZfNS01LTEtMS0xMDU5OTQ_a9908cb7-0eb9-41e9-b79b-494a1f7e504c"
      unitRef="usd">26000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i98081df676ec427e979799294744af39_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmI3MDk2MTY4NzkzZDQ4MTc4OWMxNGM3OThjZTJkMDU2L3RhYmxlcmFuZ2U6YjcwOTYxNjg3OTNkNDgxNzg5YzE0Yzc5OGNlMmQwNTZfNS03LTEtMS0xMDU5OTQ_ae89969c-db5c-4a8f-95e1-5deb04c7f349"
      unitRef="usd">44000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfODcyMg_22be35f8-95f7-42d2-9b00-ef7851d913ee"
      unitRef="usd">144000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i466b5761fcc746f6b9e105f3ee815891_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfODc0NA_976c7e89-d994-4c26-be49-c1445f03e31b"
      unitRef="usd">285000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfODk2OA_67ae2a29-aab9-4c85-a894-d45299aee6a0">P2Y7M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfMjc0ODc3OTA5NTY4NA_c2027a5f-5d06-47d3-97bb-d9c07ef1c066">Estimates utilized in the calculation include the expected life of the option, risk-free interest rate, and expected volatility, and are further detailed below. Note that there were no grants made during the three months ended March 31, 2023. &lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.966%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three months ended&lt;br/&gt;March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair value of options issued&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;NA&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercise price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;NA&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected life of options (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;NA&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;NA&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;NA&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;NA&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i0e343c763aa94fb19884a9e71c1b3fde_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjYwYjRkMGM4MTM5NjRkNDg4YWRkMTMzNDRlNDk3MzY4L3RhYmxlcmFuZ2U6NjBiNGQwYzgxMzk2NGQ0ODhhZGQxMzM0NGU0OTczNjhfMi0zLTEtMS0xMDU5OTQ_cec17cc7-3dee-46bd-a7ef-79fa02a01505"
      unitRef="usdPerShare">1.17</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice
      contextRef="ie1f2a65bb1ca407292186293e7aad935_I20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjYwYjRkMGM4MTM5NjRkNDg4YWRkMTMzNDRlNDk3MzY4L3RhYmxlcmFuZ2U6NjBiNGQwYzgxMzk2NGQ0ODhhZGQxMzM0NGU0OTczNjhfMy0zLTEtMS0xMDU5OTQ_1c1e5384-a162-455d-b7f5-2ce3a235eff6"
      unitRef="usdPerShare">1.48</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i0e343c763aa94fb19884a9e71c1b3fde_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjYwYjRkMGM4MTM5NjRkNDg4YWRkMTMzNDRlNDk3MzY4L3RhYmxlcmFuZ2U6NjBiNGQwYzgxMzk2NGQ0ODhhZGQxMzM0NGU0OTczNjhfNC0zLTEtMS0xMDU5OTQ_4d3d01e1-a114-4670-abe7-01dec853334f">P6Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i0e343c763aa94fb19884a9e71c1b3fde_D20220101-20220331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjYwYjRkMGM4MTM5NjRkNDg4YWRkMTMzNDRlNDk3MzY4L3RhYmxlcmFuZ2U6NjBiNGQwYzgxMzk2NGQ0ODhhZGQxMzM0NGU0OTczNjhfNS0zLTEtMS0xMDU5OTQ_582787af-e72a-4ced-8ee0-c7b445c82fee"
      unitRef="number">0.019</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i0e343c763aa94fb19884a9e71c1b3fde_D20220101-20220331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjYwYjRkMGM4MTM5NjRkNDg4YWRkMTMzNDRlNDk3MzY4L3RhYmxlcmFuZ2U6NjBiNGQwYzgxMzk2NGQ0ODhhZGQxMzM0NGU0OTczNjhfNi0zLTEtMS0xMDU5OTQ_f12cfede-ee20-4b0a-9202-191d999737a8"
      unitRef="number">0.992</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i0e343c763aa94fb19884a9e71c1b3fde_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjYwYjRkMGM4MTM5NjRkNDg4YWRkMTMzNDRlNDk3MzY4L3RhYmxlcmFuZ2U6NjBiNGQwYzgxMzk2NGQ0ODhhZGQxMzM0NGU0OTczNjhfNy0zLTEtMS0xMDU5OTQ_7d67a6cc-c115-44ca-9ded-a369728f69f8"
      unitRef="number">0.000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTUyNA_fdba8725-8917-4bb5-9ceb-d4da38106392">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of option activity under all outstanding stock incentive plans for the three months ended March 31, 2023 is presented as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.398%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.570%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number of&lt;br/&gt;Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price Per&lt;br/&gt;Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&lt;br/&gt;Life (in years)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330,808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.97&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canceled/forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(65,903)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance at March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;264,905&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Vested and expected to vest at March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.8&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Exercisable at March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;66,734&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.6&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfMS0xLTEtMS0xMDU5OTQ_81b88d3a-4f84-404d-8913-b4dd1d76a481"
      unitRef="shares">330808</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfMS0zLTEtMS0xMDU5OTQ_ae9663ab-f48a-4c1f-ad91-cae775aecfd9"
      unitRef="usdPerShare">1.97</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfMi0xLTEtMS0xMDU5OTQ_8c95796c-a337-4b4f-8dc3-b6503732e7e9"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfMi0zLTEtMS0xMDU5OTQ_b4d6be23-71c0-4edf-b7e7-6d4c83323d59"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfNC0xLTEtMS0xMDU5OTQ_4d5de7ac-17a6-48d0-a46f-88b978df6a95"
      unitRef="shares">65903</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfNC0zLTEtMS0xMDU5OTQ_aab977d7-8e8d-4b0f-b4f5-863065c6a03c"
      unitRef="usdPerShare">2.88</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfNi0xLTEtMS0xMDU5OTQ_f46b9d92-d415-484a-8a2e-f934b1fdaa11"
      unitRef="shares">264905</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfNi0zLTEtMS0xMDU5OTQ_39218b99-6a02-4a01-bdc4-5940f4f8cfd5"
      unitRef="usdPerShare">1.75</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfNi01LTEtMS0xMDU5OTQ_850bbc62-fc8e-4307-bcfd-6bd4d6570170">P8Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfOC0xLTEtMS0xMDU5OTQ_a062e1c6-402b-4555-a733-f9bdb2fda651"
      unitRef="shares">218307</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfOC0zLTEtMS0xMDU5OTQ_cb3d8d84-c5c0-45e2-a0ae-d7486ae49247"
      unitRef="usdPerShare">1.87</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfOC01LTEtMS0xMDU5OTQ_e0d6eb80-e826-4b7d-a345-ba04fd651b64">P7Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfMTAtMS0xLTEtMTA1OTk0_ac0b241e-a8af-4456-838b-d009938b2afd"
      unitRef="shares">66734</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfMTAtMy0xLTEtMTA1OTk0_124769a1-e1af-4516-9aa3-0a1f7df40597"
      unitRef="usdPerShare">3.10</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOjI2MDhkNzQ5YjI3YjQwNzk4MGQ4YzBmMGEzZGQ1NDhmL3RhYmxlcmFuZ2U6MjYwOGQ3NDliMjdiNDA3OTgwZDhjMGYwYTNkZDU0OGZfMTAtNS0xLTEtMTA1OTk0_5adac6dd-fb44-43c4-bb19-302e0db56c03">P4Y7M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RleHRyZWdpb246ODZhNjNiMWEwYWY0NGRjYjk3OTllY2M1YzViMTVjYjlfOTU0MA_cdacb521-85a2-4e9a-930e-d39f0231237e">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of restricted stock unit activity under all outstanding stock incentive plans for the three months ended March 31, 2023 is presented as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.398%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.550%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.570%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Restricted&lt;br/&gt;Stock Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&lt;br/&gt;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&lt;br/&gt;Life (in years)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance at March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.4&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="i1bc9012ae9db4b018ac9f12ca21fe222_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmRlZDViNzc5NjRlNzQ1YzFiNzU5NjFjMDM0ZmY3ZWEwL3RhYmxlcmFuZ2U6ZGVkNWI3Nzk2NGU3NDVjMWI3NTk2MWMwMzRmZjdlYTBfMS0xLTEtMS0xMDU5OTQ_fcb3a49f-978c-454c-ac2b-7ee614289bf6"
      unitRef="shares">11600</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i1bc9012ae9db4b018ac9f12ca21fe222_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmRlZDViNzc5NjRlNzQ1YzFiNzU5NjFjMDM0ZmY3ZWEwL3RhYmxlcmFuZ2U6ZGVkNWI3Nzk2NGU3NDVjMWI3NTk2MWMwMzRmZjdlYTBfMS0zLTEtMS0xMDU5OTQ_cf6748a2-8957-4994-96e3-bbfd394bdb54"
      unitRef="usdPerShare">1.59</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i8efcd85eb0fd4c459309b1cc67f0c411_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmRlZDViNzc5NjRlNzQ1YzFiNzU5NjFjMDM0ZmY3ZWEwL3RhYmxlcmFuZ2U6ZGVkNWI3Nzk2NGU3NDVjMWI3NTk2MWMwMzRmZjdlYTBfMi0xLTEtMS0xMDU5OTQ_19336fc2-6915-40f1-b6c8-831fe98350ea"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i8efcd85eb0fd4c459309b1cc67f0c411_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmRlZDViNzc5NjRlNzQ1YzFiNzU5NjFjMDM0ZmY3ZWEwL3RhYmxlcmFuZ2U6ZGVkNWI3Nzk2NGU3NDVjMWI3NTk2MWMwMzRmZjdlYTBfMi0zLTEtMS0xMDU5OTQ_50fb4701-ba58-4d26-9ce6-7a88a68c02da"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="i169854f0bb8447468f02f9d274f02cb6_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmRlZDViNzc5NjRlNzQ1YzFiNzU5NjFjMDM0ZmY3ZWEwL3RhYmxlcmFuZ2U6ZGVkNWI3Nzk2NGU3NDVjMWI3NTk2MWMwMzRmZjdlYTBfNS0xLTEtMS0xMDU5OTQ_93969d7b-0055-40d9-a6f9-33a8ab149720"
      unitRef="shares">11600</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i169854f0bb8447468f02f9d274f02cb6_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmRlZDViNzc5NjRlNzQ1YzFiNzU5NjFjMDM0ZmY3ZWEwL3RhYmxlcmFuZ2U6ZGVkNWI3Nzk2NGU3NDVjMWI3NTk2MWMwMzRmZjdlYTBfNS0zLTEtMS0xMDU5OTQ_d92b5f91-bba1-446c-a655-0f626d3ecfd6"
      unitRef="usdPerShare">1.59</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i8efcd85eb0fd4c459309b1cc67f0c411_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl82NC9mcmFnOjg2YTYzYjFhMGFmNDRkY2I5Nzk5ZWNjNWM1YjE1Y2I5L3RhYmxlOmRlZDViNzc5NjRlNzQ1YzFiNzU5NjFjMDM0ZmY3ZWEwL3RhYmxlcmFuZ2U6ZGVkNWI3Nzk2NGU3NDVjMWI3NTk2MWMwMzRmZjdlYTBfNS01LTEtMS0xMDU5OTQ_5c927488-16ce-468b-8d47-dfbfe73bfcbf">P1Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83MC9mcmFnOjdiNDFlMDU5YWJiNzQ0ZmM5MTcwNDAzNDViMmQ1ODgzL3RleHRyZWdpb246N2I0MWUwNTlhYmI3NDRmYzkxNzA0MDM0NWIyZDU4ODNfMzE4_7d736564-37b1-4afa-809b-181a31c3de55">COMMITMENTS AND CONTINGENCIESPurchase CommitmentsAs of March&#160;31, 2023, we had approximately $1,391&#160;thousand in outstanding purchase commitments for inventory. Of this amount, approximately $1,376&#160;thousand is expected to ship in the second quarter of 2023, and $15&#160;thousand expected to ship in the third quarter of 2023 and thereafter.</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:PurchaseObligation
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83MC9mcmFnOjdiNDFlMDU5YWJiNzQ0ZmM5MTcwNDAzNDViMmQ1ODgzL3RleHRyZWdpb246N2I0MWUwNTlhYmI3NDRmYzkxNzA0MDM0NWIyZDU4ODNfOTc_ef9a9d77-6f4f-478a-8701-8487c723e87c"
      unitRef="usd">1391000</us-gaap:PurchaseObligation>
    <us-gaap:LongTermPurchaseCommitmentAmount
      contextRef="i067d40fab95745f89a4bec1164793dd3_D20230401-20230630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83MC9mcmFnOjdiNDFlMDU5YWJiNzQ0ZmM5MTcwNDAzNDViMmQ1ODgzL3RleHRyZWdpb246N2I0MWUwNTlhYmI3NDRmYzkxNzA0MDM0NWIyZDU4ODNfMTgx_83319513-289c-4d0f-b280-2f43204dbab1"
      unitRef="usd">1376000</us-gaap:LongTermPurchaseCommitmentAmount>
    <us-gaap:LongTermPurchaseCommitmentAmount
      contextRef="i256e02b3d9cd45ae90fdf507325d58dc_D20230701-20230930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83MC9mcmFnOjdiNDFlMDU5YWJiNzQ0ZmM5MTcwNDAzNDViMmQ1ODgzL3RleHRyZWdpb246N2I0MWUwNTlhYmI3NDRmYzkxNzA0MDM0NWIyZDU4ODNfMTA5OTUxMTYyODY1Nw_1a18580d-415e-4aa5-bae2-7897f0e66999"
      unitRef="usd">15000</us-gaap:LongTermPurchaseCommitmentAmount>
    <us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock
      contextRef="i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83My9mcmFnOmFhYmJmY2YxZjgwOTRjY2Q4ZDM0NWEyYjQzMmJjYjYwL3RleHRyZWdpb246YWFiYmZjZjFmODA5NGNjZDhkMzQ1YTJiNDMyYmNiNjBfMjcwMA_cdfb57f5-fc30-474d-9e69-40c023c34a4a">OTHER INCOME&lt;div style="margin-bottom:10pt;margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Employee Retention Tax Credit&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Coronavirus Aid, Relief and Economic Security Act (the &#x201c;CARES Act&#x201d;), which was enacted on March 27, 2020, provides an Employee Retention Tax Credit (&#x201c;ERTC&#x201d;) that is a refundable tax credit against certain employer taxes. The ERTC was subsequently amended by the Taxpayer Certainty and Disaster Tax Relief Act of 2020, the Consolidated Appropriation Act of 2021, and the American Rescue Plan Act of 2021, all of which amended and extended the ERTC availability and guidelines under the CARES Act. Following these amendments, we and other businesses became retroactively eligible for the ERTC, and as a result of the foregoing legislation, are eligible to claim a refundable tax credit against the employer share of Social Security taxes equal to 70% of the qualified wages paid to employees between January 1, 2021 and September 30, 2021. Qualified wages are limited to $10,000 per employee per calendar quarter in 2021 for a maximum allowable ERTC per employee of $7,000 per calendar quarter in 2021. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For purposes of the amended ERTC, an eligible employer is defined as having experienced a significant (20% or more) decline in gross receipts during each of the first three 2021 calendar quarters when compared with the same quarter in 2019 or the immediately preceding quarter to the corresponding calendar quarter in 2019. The credit is taken against the &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Company&#x2019;s share of Social Security Tax when the Company&#x2019;s payroll provider files, or subsequently amends the applicable quarterly employer tax filings.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the amended guidelines, we are eligible to receive the ERTC for the second and third quarters of 2021. As part of the filing of our employer tax filings for the third quarter of 2021, we applied for and received a refund of $431&#160;thousand, and we amended our filing for the second quarter of 2021, for which we received an additional refund of approximately $445&#160;thousand. These amounts are recorded as other income in the Consolidated Statements of Operations during the quarter ended December&#160;31, 2021, and the $445&#160;thousand as an expected receivable in the Consolidated Balance Sheet as of March&#160;31, 2023 and December&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;</us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock>
    <efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct
      contextRef="if52337259ca94ff6adbd8c395875af1f_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83My9mcmFnOmFhYmJmY2YxZjgwOTRjY2Q4ZDM0NWEyYjQzMmJjYjYwL3RleHRyZWdpb246YWFiYmZjZjFmODA5NGNjZDhkMzQ1YTJiNDMyYmNiNjBfMTcwOQ_681698b4-398c-46b9-9dfa-76086d21b532"
      unitRef="usd">431000</efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct>
    <efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent
      contextRef="i6e836d92561341ffb8c493dd07587cee_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83My9mcmFnOmFhYmJmY2YxZjgwOTRjY2Q4ZDM0NWEyYjQzMmJjYjYwL3RleHRyZWdpb246YWFiYmZjZjFmODA5NGNjZDhkMzQ1YTJiNDMyYmNiNjBfMTg0MA_f1c60e3a-01ef-43c4-b1d7-74ea579f61f4"
      unitRef="usd">445000</efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent>
    <efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent
      contextRef="i057c62fbb4734a08944a41767816a2cd_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83My9mcmFnOmFhYmJmY2YxZjgwOTRjY2Q4ZDM0NWEyYjQzMmJjYjYwL3RleHRyZWdpb246YWFiYmZjZjFmODA5NGNjZDhkMzQ1YTJiNDMyYmNiNjBfMTk2OQ_1b56b91d-1b72-41de-b1f7-e8c750a56354"
      unitRef="usd">445000</efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent>
    <efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent
      contextRef="ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjEzN2VmNGRlNjNmMjRiYzc5ZDkwNDBkYzZiODQ0OGViL3NlYzoxMzdlZjRkZTYzZjI0YmM3OWQ5MDQwZGM2Yjg0NDhlYl83My9mcmFnOmFhYmJmY2YxZjgwOTRjY2Q4ZDM0NWEyYjQzMmJjYjYwL3RleHRyZWdpb246YWFiYmZjZjFmODA5NGNjZDhkMzQ1YTJiNDMyYmNiNjBfMTk2OQ_d3b83341-3c64-4d94-90de-977546cf7c07"
      unitRef="usd">445000</efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>73
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( "Q$JU8'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    "  L1*M6V04"N.X    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+!
M2L0P$(9?17)O)VE0(71[43PI""XHWD(RNQMLFI",M/OVIG6WB^@#>,S,GV^^
M@6E-5"8D?$XA8B*'^6KR_9"5B1MV((H*()L#>IWKDAA*<Q>2UU2>:0]1FP^]
M1V@XOP&/I*TF#3.PBBN1=:TURB34%-();\V*CY^I7V#6 /;H<: ,HA; NGEB
M/$Y]"Q? #"-,/G\7T*[$I?HG=ND .R6G[-;4.([U*)=<V4' V]/CR[)NY89,
M>C!8?F6GZ!AQP\Z37^7=_?:!=0UO9,6O*R&VHE%2*G[[/KO^\+L(^V#=SOUC
MX[-@U\*ON^B^ %!+ P04    "  L1*M6F5R<(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 "Q$JU9D;&R8[ 4  +X?   8    >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL
MM9EK;]LV%(;_"N$-0PO$D4C9N72) 4=)6F--XL;IAF[8!T:B;:&2Z%&4G?S[
M'4JVE&34L2?47V+=SAL^/+R\),]64GW/YD)H\I3$:7;>F6N]^. X63 7"<\.
MY4*D\&8J5<(UW*J9DRV4X&$1E,0.<]TC)^%1VAF<%<_&:G F<QU'J1@KDN5)
MPM7SA8CEZKQ#.YL']]%LKLT#9W"VX#,Q$?KK8JS@SJE4PB@1:1;)E"@Q/>\,
MZ0??\TQ \<7OD5AE+ZZ)07F4\KNY&87G'=>42,0BT$:"P\]2^"*.C1*4XY^U
M:*?ZGR;PY?5&_;J !YA'G@E?QG]$H9Z?=TXZ)!13GL?Z7JX^B350W^@%,LZ*
MOV15?MOK=4B09UHFZV H01*EY2]_6E?$RP#6$,#6 >Q- /4: KQU0%%S3EFR
M NN2:SXX4W)%E/D:U,Q%43=%--!$J4GC1"MX&T&<'OAR*1090\9(EV1SKD1V
MYF@0-J^=8"UR48JP!A&/W,A4SS-RE88B?!WO0(&J4K%-J2X8*GC#U2'QZ %A
M+O,LY?&WA3\3]]06_:HT7E5'7B'GH77TU_ QTPJ:W=^V"BH5>G8%TQ<_9 L>
MB/,.=+9,J*7H#'[YB1ZYO]KH?I#8*]A>!=O#U >7,LBAFVKR\+P0-E(\G+K=
M+S8D-*HE4K]"ZN^&]"7G2@L5/Y-[L9!*V_!P*:UR6Z7X:%1+O*,*[V@WO+%0
MD0Q-)R0P%EB3ARM5W:ZQWZ'Q+3F/*\[C'5NFXC"-%+- <QYQK2F/,VLBT;"6
M@"<5X E:J*M41_J97$>Q(+=Y\BB4#0S7<%W:]8[Z)];LH:$MX4XKN--=X$9I
M(!7DC)OT'9")AH9*I"*^S%.MGN$WM#9<7/SRRH:+QK3$I6X]L;J[ #_P)S(*
MH=E&TR@HJ)'<;I$\[74]E]&3OFO#Q8/;\KXP$G07WF$8@GIVL+D@G^$[<I=:
ML[I%T@,SZI9%'.8*&DUY?2]Y:*T 5*UM!;"Z EC["GA826L%X)*3/(+N<6&%
M12/;PM:6B*(FY#^POKF#?OP@5ZD5%)>;R%C:XGP\KBUF;88H;F?>8E;CU5C)
M990&]E:-:]Y]LH+NPR'1VB)1W-B\!1W+3/.8_!DM&H?D+8J]'O5.K:3[,$NT
M=DL4-SE%2QW"DK<9#!=XU^NY[ZU@^W!'M+9'%/<TGV4 &1O/98K9ARTBQ[3?
MI9YKGV#V88YH[8XH;FT>(@W&2$X)9>\>WY.)"'(%N;1"XDJ^3!*8AR=:!M\/
MR((KLN1Q+LC/[B%,.)0L8+E7K(6MM; /%T5K&T5QJP/F-XS2&9D\)X\RML)O
M,6+7=R,KUS[L$JOM$L.]S2:=Y.HIF/-T!FV8)];NN47H=CBY'%K7H'A@6\+:
M(+&=#)*?*V56,>72I4@E3"JY==MEB^(WZV:-CT>UY:Q]$-O)!XU26&J7NW1F
M.<HWX%9.7+&)<Q\6B-46B.UD@<QR#=8OX MF4EE'HRTZMS+M\B 0( ,B82EH
MY=V'%V*U%V([>:%)PN.87.09O,[LK1;7:=I#P</:XM4.B.WD@*X2H6:F5WX$
M!3T'DY L>&K/*R[8N,> Q[4%K0T0P_W+)H]S 7G$\'"99KQ]V"!6VR"&.YC-
M,/MJCI\4.]OD+M=@:U,S@5J)?Y#!6==#J=8OU,QQRG) 3UG/.Z+@KI8VQMH*
ML9UVBGP83A5XOE$:BB?RF["G<=N&D>M"J>C1B95A'V:'U6:'X5YE,U=>1YGQ
MMM\$6#5L>W.+7+=+6=>C5M!]N!^O=C\>;EJJO<V7I-?PT#K ;A%KVKS%P]HR
MUO['P]W*6\;U=G4S)2[WQ9I'/*@M8^U]/-RI# $P+"%C;AUCM@@TCJIX7%NP
M%T=@.YF=>S&+S"D8 #;9\VU"MU?W'[^1ZSO_Z^2 C&Y]Q[YYB\O\7U[GQ0FI
MF>"+@^.,!&;7N3PLK9Y6A]/#XDC6J3\O3[9ON/$'&8G%%$+=PV,8X%5Y6%S>
M:+DHSEL?I=8R*2[G@H="F0_@_51*O;DQ_Z ZLA_\"U!+ P04    "  L1*M6
M&HP5),T&  !W&P  &    'AL+W=O<FMS:&5E=',O<VAE970R+GAM;*U9?V_;
M-A#]*H07;"W@Q"(IR7*6&$B=% VVHEF<;MB?C$7'0B71)6FGV:??458D6Z28
M=&N )/IQ1[XC>?<>J;-'(;^H%><:?2OR4IT/5EJO3T<CM5CQ@JD3L>8EO%D*
M63 -M_)AI-:2L[1R*O(1"8)X5+"L'$S/JF<W<GHF-CK/2GXCD=H4!9-/[W@N
M'L\'>/#\X#9[6&GS8#0]6[,'/N?Z\_I&PMVH:27-"EZJ3)1(\N7YX *?SB@U
M#I7%GQE_5'O7R(1R+\07<W.=G@\"@XCG?*%-$PS^;?F,Y[EI"7!\K1L=-'T:
MQ_WKY];?5\%#,/=,\9G(_\I2O3H?) .4\B7;Y/I6/'[@=4"1:6\A<E7]18^U
M;3! BXW2HJB= 4&1E;O_[%L]$'L...QQ(+4#>:T#K1VJD1OMD%5A73+-IF=2
M/")IK*$U<U&-3>4-T62EF<:YEO V S\]G8DRA4GA*8(K)?(L91INWK&<E0N.
MYJ9AA8[1Y_DE>G/T%AVAK$1W*[%1K$S5V4@#!M/2:%'W]V[7'^GI[R.3)XCB
M(2(!H0[WF=_]DB\:=W+H/H+(F_!)$SZIVJ-]X6^DY*5&3"F(\]05SZZ!T-V
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
MM!DHS06E>: T'Y06@-)"*%I;[KN-?*S?R;^.HGR=\:K_N>,TBX602_1Q53V
MASZYS[QZY.H^9>AM4G*UPK^?3PP\$JLT].D=6]ZS0H6?ZO&])0^:*0"E>: T
M'Y06@-)"*%I;\KNT M;G%0ZF^X\D]/78WGTY:$H!E.;B;O8!.XZ<U@>-Z8/2
M E!:"$5K"W:7@L#Z',0AP2I%VMWI-PUBRQ-#T/0#*,U57$%GMJE(L1A$3MV#
M%BL I850M/9CP[OD!]$G/^K9+$J$KEA<S6[9<U0_78]X0;.2UJ^ ''W 21^C
M]\/#H/D/4)I+NHF2L25O5'F@,7U06@!*"Z%H;?7N$B5$GR@Y2;U*Q2HR#F,L
M[8Y,]=%[*Q&2YH+2O)/JPP>-&8#20BA:6XF[= [1OX#1Y[$[TGU;@72D!_L*
M!6@*!I3FG5 ;/FC$ )060M':PMLE5LCW)U:(*K%BFJ:L-="\"BC-!:5YH#0?
ME!:<UE@A5-"VW'8)$_)_$B;[3T292D6")DQ :3-R2L)$880=(C\L[(&6S >E
M!:"T$(K6UN,N8T+Z9DR.:[";+"".+2^,]7%[:^MX;D55+%E5BO2+;9H8R\.E
M(ATBYU94-M@V3+DB0JB*V#3P<._=\.K?%XC6>DC$"C-E<X$W7H]%M&+S'P$V
M)SQ?U:^+W^><Y\OZ<,%HS(K*0/P^SW/^[:1Z WW[?QFN_@-02P,$%     @
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
MX/LUA^#6'_0/-"_T+O\#4$L#!!0    ( "Q$JU:;HO:&+P(  -D$   8
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
M.:MZT52L.S1_J+=U\&Z0G$NVY)(]D<,PBM+83LIT3,[@CHIOFB!)5(<,UJB
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
M>\&=2!D5$2<4'=5ECC]#-*DDE:T-+?9V#,PYM%60(#U'4(91II/0+X7,'$L
M4@@E73FRURS)%55MDMS35J1NM]%MQ2V,$":15M"A[!]U\4(FQ#TVLW , T9!
M%X\]2&.H"&V<,*7?U#49P@LFK(,UK[T$=9\$6PBA6*E3F4F<L1!+J;QR_J@
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
M*^^CF=H<G1JKN+3"-IA!:[MHU\>;.+T)='%4/<.%?%IA<U=B;<;PD[K@?>&
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
MFHHN%]CZ@M9>9*F&Y+,T@"@TR:(NH8C"D5YCRP4'^XWK'IH53_KN$&/3C89
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
MGS2]B+QX^0-P]IMRSM#*.^:OX?&)>[PWF4]",(>TP$064]J2IT5F-&$\C3W
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
M4CC#9#)+5X,QB6JEDAE$,L7:JZ9@;HB_L1&WGX@-H//&H)\4YYA(4D_Q S!
M?W5M7W9]&[$#"11;0F@RB%X"0\QFC-1,[:'],B>!YME/.W ^[[S$^5NHT +^
MW6!I,*B$1 0# W?IZWYKP[-BXZ_LI6UYDW0^6HAXBV8I3P$BAL",4$4JL]_"
M1M*R%!61,]C1$2NR"70.&/%9L:[]$NJRW^U(PY%SX$1P:K^&I)2L/N%7.[82
M@)R4<,GG MBNN201\J0OR5+3]( ?,+ZS:UJ>"$%P!VL_ F91Z<62_#,88/(Z
MUL)IYI(P9Y:U93/A&S%)# :I)#HF;'1'D2=K)[^$/A?BIM'D%M+T)>MA_ 2&
MJPASM=]!R(5H,$';Y#ICXR8[ 5&N%_N_HU5.BI<NM/U.:$[;*JH&S)!0<Z3.
M:#%U\'NXR:#&[AFCVA6(0=O">6Y@Q$)WG[ZT' _3EX3 )K#/0;XPH IBU+%L
MMW%M=9]<*UJ+Z>9(2R>E94K>9<3*S#Q7)(TC#FKM)2)T[,]>%NA4"P_:3R1_
MQ"'%JF]8?P5:NU39:> (DM$D#6I&]IPVRX9](OO:P6RWQ*,B_X0*,'WF)M!
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
MD2=K@\I_$6B1+ML[TPK2970)W2SDT.:,UY83 JI8":LYAV<D5*+N\V(T<'G
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
MCQ_>D>>(X@?R ?DMZZ7OR/WC/S?\M@L&T.]X'31^P ;I=?/G_P-02P,$%
M  @ +$2K5EL$-8"?!   H0L  !D   !X;"]W;W)K<VAE971S+W-H965T,3@N
M>&ULK59M;^)(#/XK%ENMBH0*)$!:"DBEO9>5MB=4>K<?3O=A2 S,-9G)S4Q*
M>[_^[)F0MEJ*NM)]R,LD8_NQ']OCR4Z;![M%=/!4Y,I.6UOGRG&W:],M%L*>
MZ1(5_5EK4PA'2[/IVM*@R+Q0D7>C7F_4+814K=G$?UN8V417+I<*%P9L513"
M/,\QU[MIJ]_:?[B3FZWC#]W9I!0;7*+[O5P86G4;+9DL4%FI%1A<3UM7_?$\
MX?U^PQ\2=_;5.[ G*ZT?>/$EF[9Z# AS3!UK$/1XQ&O,<U9$,/ZI=;8:DRSX
M^GVO_6?O._FR$A:O=?Y-9FX[;9VW(,.UJ')WIW>_8NW/D/6E.K?^#KNP-Z'-
M:66=+FIA0E!(%9[BJ8[#*X'SWCL"42T0>=S!D$=Y(YR838S>@>'=I(U?O*M>
MFL!)Q:0LG:&_DN3<;"ZLM*#7L#!H43D18J4R6 ::^-]2;I1<RU0H!U=IJBOE
MI-K 0N<RE6CA]%ZL<K3M2=<1)%;<36OS\V ^>L=\#+=:N:V%GU2&V5OY+KG2
M^!/M_9E'1Q7>"G,&<;\#42^*C^B+F_C$7E_\CKY#[OYYM;+.4#[]=<CAH&]P
M6!_7V-B6(L5IJ^2(FT=LS3Y_ZH]ZET?0#AJT@V/:9TNJV:S*D4F;4XT^9'JG
M KLZJU('OU&9+P5Q=0CY4=V'D=]O$=8ZI]+F"#E. RB-?I09Q4E )JW8; QN
M0EH1D+(&H@B(92 D;L"1FA*-U)F%,B0B9G J%?W1E:5TM.TQW&\-(A0A89 3
MQK/,M\A[YA6.X5H7!9I4BAQ.(([Z=.]W^O$ ;F]O]P LC'H7<!$E<*\=;7S!
M<P(7<8_N4:<WZL,14H8-*<,/DU*GDX4[3%$^<KPZ<,7Q$RI%'XMK@YET\%7;
M@R0=M768)-]Z@<J<P[SBM*#NS&AX3<$JA7K^_.D\ZB>7%E(*+^<V"&O1!7IL
ME6[W_(R!2HR6^QJ#&_*D6*'9?XG>;HC@%T.N'/*<0SU*Z#Y( D=QG,!7M&3C
M;4AN=+5RZRI_47("I\/S-C^BD7\D;9\![U@AJLG*8%A;Z1VC==30.CI**UG0
M*I6Y;'*;>VGJ>^>-S"O.X"\JU07"*9/9A@4%:;D5!@_Q>M38CQ2?KQXN/O,=
MP%4#,*L!YDP-,0N6<1'Y15F%,\#^8/E55'+":3/V/'B]1 M'.PX\=2C!VI0M
M2M,Q%G;.O\.S\Z<HO8A'4K?!@,L?4(2-; .=B.D#4 );1X+L>'_4Z2<1C#H#
M2I\CQ"8-L<F'Z_6;,(9.O6=*+)H>I'L^1-U1=1^G+LQ%\E]R=[<W*VJS_U>7
MG(O<5Y5PL,*-5(K-<UOV:KD\SF/N?1?#%]=%FII*Y*$5I)4Q9'<O$%KF*1'+
MUU7V-TTLA<\_IP&?I/4G9^V.'Q7B"]X[;%-MP(,DZJG+N!R#4"$RA*PR/BB-
MM^";4W1)<H,VE[BI.%7V^.J@LD_D[EMO!MZ;T?!@7G1?C4V4O1L_''('I X2
M)JCF:S-_7H6QZV5[&%ZIY5$T+>2X)M'>64)MVH2!,"R<+OT0MM*.1CK_NJ49
M&@UOH/]KK=U^P0::J7SV'U!+ P04    "  L1*M6)H*W-E,#  !?!P  &0
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
M> =:WVHZ=IWB$PP7\>(_4$L#!!0    ( "Q$JU:*R(HX7P4  %$.   9
M>&PO=V]R:W-H965T<R]S:&5E=#(S+GAM;,57VW+;-A#]E1W%2>,9A>)-$N78
MFI$=)TUGXGIB)WGH] $B(1%CD%  4(K[]=T%)4IJ:-9]Z@L)$HNSM[,+X'RC
M](/).;?PHY"EN>CEUJ[.!@.3YKQ@QE,K7N+,0NF"6?S4RX%9:<XRMZB0@]#W
M1X."B;(W/7?_;O7T7%56BI+?:C!543#]>,FEVEST@M[NQV>QS"W]&$S/5VS)
M[[C]LKK5^#5H4#)1\-((58+FBXO>+#B[3$C>"7P5?&,.QD">S)5ZH(^/V47/
M)X.XY*DE!(:O-;_B4A(0FO%]B]EK5-+"P_$._;WS'7V9,\.OE/PF,IM?])(>
M9'S!*FD_J\VO?.O/D/!2)8U[PJ:6':)P6AFKBNUBM* 09?UF/[9Q.%B0^$\L
M"+<+0F=WK<A9^8Y9-CW7:@.:I!&-!LY5MQJ-$R4EY<YJG!6XSD[OK$H?<B4S
MKLTO</V]$O817M^SN>3F]'Q@404)#M(MW&4-%SX!%\$G5=K<P'69\>QX_0!-
M:^P+=_9=AIV GYCV( KZ$/IAU($7-?Y&#B]Z F_KX1^SN;$:*?%GFX\U1-P.
M065R9E8LY1<]K /#]9KWIJ]>!"/_;8>!<6-@W(4^O<.RRRK)02V@-3DWRO(^
M?&-:L](:4!I<)9DV1[I5S0PIP0BG>1-B8&5&@[ /&PXYR\#F'!9*8O6*<@E8
MU\:B#(U_8V6%A4SB?F/0&;3"MOP,X:8JYES3Q!>DBY:/A'J7,XPJ7/_@.A6&
MPZT6*<?/E=#,%3*J]6J='\LUQPK1^V@$R;@_CN+F?1)YT=CW&U.#R*D>'H#<
M2DPEMAD+LR4]&ZPXZ(\2?_<ZB;W))&Y!"L-)/P[BW;N# L.& L-N"M0-LF'
M&VH[&5RI ENQJ8. \< Q;TMZ)W@[>^^/<FRI^K=M6OR%N3 '5J2'5O#:"D<:
MXHDH$-F"L(XY*(";1YTU@_C:R> ?H3(#3GMI$?*U*'%&509AS.D9W.>:<RCJ
M1L*ID=0<<IRY4L929 S##@4G\.I%$@;A6QP%2!655:@_XVO<;58NJ3&,X Z;
M/CK6!TPPVB/[SF"683\5U 9H8\#\032&>V69?-KA$PA'^(ACZ,CSJ,GSZ-FE
M_I7)JE8Q,QCYE8M96W:[(:^-%;A5860J*R0F+P,77 XIDVDE:Q6B3&65<?>?
M4IA2%J18.$OHIW+Z^Z"%>7BSH&P(S!0FS )&B]?Q:U:N%>%*;$[;P&ID4Z41
M2&,J+!,2A>:T_WNN>Z$*9DD/RFWH42I8UC57,#0KJ[2C84Z2/U'AN+%XW6QY
MSX2&-<;6N5:[94!@B%'L9D:L\8+QOMFL7+/93L2)*[.CZ.P@B+./G&ES2M(C
M+\ NW!HKF@Z\";S<8^WC19.3B1?B[#NQ%AF:#X^"2V>;[_GPLH-FXX9FX^>V
MD]]7-<7H*(3JV_C5C37;G=[VL:@/5N1,14T<F)1'NX2K):(<5B/5V4JR@V[P
MKPG&9!VT"F:V?0KWF?WN\<V=O7"Z&5PRU(*91)Z]X]C>2;#9=J+([R=^XG(\
M&<,'HAZNV762W?N*$)"Z [1UP87K5*-A?^)'IQ!Z27*HY!\VAZ,8Y89.PW@(
M"6;R*Q*"'#@L'*N -K V@"#I1_[8 21C&'O)CJ.N-_^\8#2J]SN(O #W+&_4
M09RD(4[R7.)\1C.Q-,AHMR5U4J@;]8A">H];\Z0J<?/XOQAUX.5_I%2 AP0\
M9E"ZAI,G&?4T88[78^MI2]_@X)A?<+UTEQF#&U15VOK$W_QM[DNS^IJP%Z\O
M6ZA^*3!HDB]PJ8\D[6&S=Q>8^L.JE;LTS)7%*X@;YGCGXYH$<'ZAL)%O/TA!
M<XN<_@U02P,$%     @ +$2K5B>Z.'%_!   Q1@  !D   !X;"]W;W)K<VAE
M971S+W-H965T,C0N>&ULK9E=;Z,X%(;_BL56NQVI#5\)I-TD4KZS%QU5D^WN
MQ6HO''""5< 9VS13:7[\V$"90(F;C'S3\''>Q\?VBWWD#@Z$/K,((0Z^)7'*
MAD;$^?[>-%D0H02R#MFC5+S9$II +F[ISF1[BF"8BY+8="S+,Q.(4V,TR)\]
MTM& 9#S&*7JD@&5) NGK!,7D,#1LX^W!%[R+N'Q@C@9[N$-KQ)_VCU3<F14E
MQ E*&28IH&@[-,;V_<JVI""/^ >C SNZ!K(K&T*>Y<U?X="P9$8H1@&7""A^
M7M 4Q;$DB3R^EE"C:E,*CZ_?Z(N\\Z(S&\C0E,3_XI!'0Z-O@!!M81;S+^2P
M0F6'>I(7D)CE?\&AC+4,$&2,DZ04BPP2G!:_\%LY$$<"USTA<$J!TQ XS@F!
M6PK<<P7=4M ]5] K!;US!5XI\)H"_X3 +P7^N2WT2T$_G]UB.O*YG$$.1P-*
M#H#*:$&3%[DA<K680IQ*[ZXY%6^QT/'1!#+, -F"1XH82CDL')6&8%VX6;Y;
MXUV*MSB *0?C("!9RG&Z X\DQ@%&#-R""K,_QES/$(<X9I_ %3 !BZ!X"7 *
MGE+,V8UX**[_CDC&1'ML8'+1'YF5&92Y3XK<G1.YN^"!I#QB8)Z&*&S1S]1Z
MVU$ 3#&0U6@Z;Z,Y<93$!T@[P+5O@&,Y+GA:S\#UU7'G6W*<GD]TWHAM755C
M9B@X"S-78SZ3EPZPO0\Q"S5FC?8B&^M#S%*-&6>[#G#<$A.JQWEU_@#9[2G5
M'.%6WY>;<]U3.;9\+O^--XQ3L6K_W^;Y@M=MY\FM[)[M88"&1OZIT1=DC'[_
MS?:L/]O,I1,VTPF;ZX0M=,*6.F$K3;":][J5][HJ^NBS*'UBPACX#J[:G%:H
MO5PM:YR7T:WMNN[ ?#FV4$N4TW?L>M2LC66YEE4/FRL3OG36=<*6.F$K3;#:
MK/>J6>\I9WT*600RAD*YNXH:E\)\]<F+1,SE^G/"#KV6*;3[33L44;V:'7RK
M$35KB?+\=VY0=N12-^B$+77"5II@-3=XE1L\M1M(DHA*3-21P?.-+"!QDB5@
M@T-1J>$ @6NYU0F3%!OG)^D-U2XZ\=Z9I+$23)7Y7+KEZ(3-=<(6.F%+G;"5
M)EC-;GYE-_\"NXDB)T2_:#3_0Z,I,[G4:#IA<YVPA4[84B=LI0E6,UJ_,EK_
M J,%HLR1F]ROKVO*UBZMNG7"9CIA<YVPA4[8LO_1][[2U%S-;G>5W>[4I726
M;(29R!8$)&4HR.2)&PCA*P-;0G/??0=M1Q 3)?=28^F$S73"YCIA"YVPY=V[
M4M1MU*$K3>W5G&5;/T_@+*6WUG(-BT@<(LK^ .AKAOGKJ1J]1!U_)LY=K]?8
M&5NBW*[K-&KTEJC;KN\W:O2V%GO-2G[1$F6_BUJJ!^+2[:>E3<^Q[JHVB^DP
MC\Y&$T1W^3DY _FI3'&P5SVMSN+'^0ETX_G$OI\6)^H_,<4!_P.D.YPR$*.M
M0%H=7YB-%F?FQ0TG^_P$=D,X)TE^&2%1&E$9(-YO">%O-[*!ZC\7HQ]02P,$
M%     @ +$2K5F\AEI03 P  $0L  !D   !X;"]W;W)K<VAE971S+W-H965T
M,C4N>&ULM59=3]LP%/TK5H8FD#;RU::4M9%H81K2*E44MH=I#R:Y22P2.[.=
MEOW[V4X:VA*J(<I+XX][3LX]OG7N:,7X@\@ )'HL<BK&5B9E>6[;(LJ@P.*4
ME4#53L)X@:6:\M06)0<<&U"1VY[C!':!";7"D5F;\W#$*ID3"G..1%44F/^=
M0,Y68\NUU@LW),VD7K##48E36("\*^=<S>R6)28%4$$811R2L77AGD]=1P-,
MQ \"*[$Q1CJ5>\8>].0Z'EN.5@0Y1%)38/58PA3R7#,I'7\:4JM]IP9NCM?L
M7TWR*IE[+&#*\I\DEMG8.K-0# FN<GG#5M^@2:BO^2*6"_.+5DVL8Z&H$I(5
M#5@I* BMG_BQ,6(#H'BZ 5X#\'8!O1< ?@/P3:*U,I/6)98X''&V0EQ'*S8]
M,-X8M,J&4'V,"\G5+E$X&4ZP( *Q!,TY"* 2U^;2&"WJ@]5["Y)2DI (4XDN
MHHA55!*:HCG+241 H,_HD@B<IAS2&J\P-[ $6@$ZO@2)22Y.5-3=XA(='YV@
M(T0HNLU8)=2+Q,B6*A$MQXX:T9-:M/>":!_-&)690%<TAG@;;RL#6A>\M0L3
M;R_A#/-3Y+N?D.=X?H>>Z?_#O3UR_/90?,/GO\"W]B[AK$!7CQ(XQ3F:FFH
MCGY]5_'H6D(A?G>95Y/WNLGUO7 N2AS!V"KUF?,E6.''#V[@?.G*_$!D6S[T
M6A]Z^]C#6R95WE1=9@+GT%DH-4%@"/25M0R'OC.REYLI/(_QG,!M@[:D]5MI
M_;W2IJQ01Q$1G'>IVHM][0D<B&PKS:!-,WC/2@P.Z<.!R+9\&+0^#-Y:B35!
M?Z/*?,_=J<3G,:[K][HK\:R5=K97VFPV0R5G<17)3EU[T:\]@P.1;24Z;!,=
MOF<M#@_IPX'(MGQPG:=OMO/6:FP8-B^]P!GNE&-'T- ;[)2CO=%<*)]3TW,)
M9+J ^@O;KK9]W87I9G;6)[K?,TW+$TW=+*KO9TJH0#DDBM(Y':A_"*_[KWHB
M66E:F'LFU6&;8:9Z5N Z0.TGC,GU1+^@[8+#?U!+ P04    "  L1*M69^$N
M%?D#   >$0  &0   'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6RM6-MNXS80
M_15"+8HLX(UNMG.I;2"VMNT"7=2(D?:AZ ,CC2TV$JF2E+T!^O$=2K(BQ8JR
M+O1BDQ3/X<P1.3/4["#DDXH!-/F:)ES-K5CK[-:V51A#2M6ER(#CDZV0*=78
ME3M;91)H5(#2Q/8<9VJGE'%K,2O&UG(Q$[E.&(>U)"I/4RJ?EY"(P]QRK>/
M/=O%V@S8BUE&=[ !_9"M)?;LFB5B*7#%!"<2MG/KSKT-7,\ BAF_,SBH1IL8
M5QZ%>#*=S]'<<HQ%D$"H#07%OSVL($D,$]KQ3T5JU6L:8+-]9/^I<!Z=>:0*
M5B+Y@T4ZGEO7%HE@2_-$WXO#+U Y-#%\H4A4\4L.U5S'(F&NM$@K,%J0,E[^
MTZ^5$ T \G0#O K@O0:,WP#X%<#_5L"X HP+94I7"AT"JNEB)L6!2#,;V4RC
M$+- H_N,F_>^T1*?,L3IQ9(JIHC8DK4$!5S3\FWPB&S*G6">;=B.LRT+*=?D
M+@Q%SC7C.[(6"0L9*/+Q.*K(/83 ]O0Q@8+D9Q [2;.8A83Q<I<:_HL -&6)
M^H#0ATU +K[_,+,UNF.,LL/*]&5INO>&Z3[Y(KB.%?G$(XC:>!MEJ+7PCEHL
MO5["+U1>$M\=$<_Q_ Y[5M\.]SK@03\\@/ M>,L;OWZS?L'GO\&W$CS$%RI+
MQ>^9>B)__HISR&<-J?JK2^^2<-Q-:"+0K<IH"',K,YM%[L%:_/"=.W5^[!)K
M2+)@(+*6D.-:R'$?NQ$250PUGDP=5V<2Y(AD]!D#H"8:9*JZY.RG]1T2T><N
MX*H7>*YT Y&UI)O4TDUZ?<2PD*=Y0C5$)AACM-!=0I4DTX+$)*K]XJ,[<?S)
MQ'&<F;UO2M.[WKG2=*T[OG$P9S;6;3D^K1V?ON=X&0]E'0]'A":892F>2H*1
MD(02(J9)(E3GYIF>V.9ZIW+T6G&N' .1M02[J@6[>N>0H5S2))/?<JU8!";O
MZ!C( V=F]VPP,^'#?S'![('G@*U&;CF-=5V2]EIP;G@;DBP8B*RE_'6M_/70
M>>)Z2"&') L&(FL)>5,+>?->GF@(*8V0%PDHA=N8\N+([UYV;'@RN;,"*E>\
M:40!Y])Q7P6!SDE>>U+0:_O_5,9U7JI,IU^;,@U@B4\^;;=8\X_(&B03D3GF
M=Y'(C PC;/V-Z=5DU<YRL'>-<_?=H&S!4&QM?1M5O#OT(:X8AU)S2+9@*+:V
MFMZ+FMX094L_R]D*#LD65&S-^L&;GE0U=N/BB#7MKKB *U+4+N6]J1ZM+_EW
MQ=7VU?C2O5V55_47FO++ =Z*=HPKDL 6*9W+*RRZ9'D9+SM:9,7U]%%H+*R+
M9@PT FDFX/.M$/K8,0O4GT06_P%02P,$%     @ +$2K5H_-V-&O @  R0<
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
MYOI>!\($Z/4%YVH[,!]H;HKQ;U!+ P04    "  L1*M62ETK+@L#   ?"@
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
MM&35/%83+7+7L"V$-NV?&ZY-PPW2&IC]I1!Z,[$'-"W\^ ]02P,$%     @
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
MYKEZ5-AS6Y:<E2 TDX(H6(R=F^'U)+;Q=<!W!AO=:1/K9"[EB^T\Y&/'LX*
M0V8L \7?&B; N25"&;^WG$Z[I 5VVSOVN]H[>IE3#1/)?[#<%&/GTB$Y+.B*
MFR>YN8>MG\CR99+K^DLV3>P(5\Q6VLAR"\9^R43SIZ_;/'0 P_ #@+\%^/\*
M"+: H#;:**MM3:FA::+DAB@;C6RV4>>F1J,;)NPNSHS"688XDSZ(-0@C%0--
MSLD,#TF^XD#D@NQFWLCI% QE7)]AQ/-L2DY/SL@)88)\*^1*4Y'KQ#6HQ3*Z
MV7;=VV9=_X-UOU)U08+A@/B>'_3 )\?A4\A:N/\>[F(&VC3X;1K\FB_X2QK>
MR)3IC$N]4D!^WLRU47C0?O7Y:PC#?D)[^:YU13,8.WB[-*@U..GG3\/8^]+G
M]C^1O?,>M-Z#8^SI$]W@B3*@&.6].]G XQINJ\(Z]:^".''770>'04$0CMJ@
M=\K"5EEX5-D=$PR/=DZ64O8?L@8?=58-(^]J3UI/4!S%_=*B5EIT/&G--FB"
MA93 :P9:#XB<:\G!P(#@I2 :*^1Y*==,+/&RM->LST9TH/#<C[S1GH_>*/^#
M',>MD?BHD4X!&! !ID]>?+"WX55PN:?N,"@*1_M9=CN5RKX26 :63&C"88$P
M[V*$[E13>9N.D55=O.;28"FLFP4^5J!L ,XOI#2[CJV'[?.7_@%02P,$%
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
M@+(!N)]+:383>T#WPTG^ %!+ P04    "  L1*M6Y#&#GJL(  !?8@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6R]W5MOV\@5!_"O,E"+(@MD+9*Z
M.K4%V.9MB*0)[&[[4/1A1(UD(KQHR9$<+_+A.[R8%"5J)&'_[D-B73B_(:US
M2 X/Q[IY2=+OV3/G@OR(PCB[[3T+L?[4[V?^,X]8=I6L>2S?629IQ(1\FJ[Z
MV3KE;%$TBL*^H6GC?L2"N#>[*5[[ELYNDHT(@YA_2TFVB2*6OM[S,'FY[>F]
MMQ<>@]6SR%_HSV[6;,6?N/AM_2V5S_JUL@@B'F=!$I.4+V][=_HG;V#D#8HE
M_A7PEVSG,<DW99XDW_,G='';T_(UXB'W14XP^6/+'W@8YI)<C]\KM%?WF3?<
M??RFV\7&RXV9LXP_).&_@X5XONU->V3!EVP3BL?DQ>75!HURST_"K/B?O%3+
M:CWB;S*11%5CN091$)<_V8_J%['3P#".-#"J!L:Y#095@\&Y#895@^&Y#495
M@]&Y#<95@_&Y#295@\FY#:95@^FY#:ZK!M=[#0:38Q^<]O;):44$E1]Y$2\F
M$VQVDR8O),V7EU[^H BZHKT,DR#.\^-)I/+=0+83,Y//!?F5/*1\$0AB,S\(
M Q'PC'PPN6!!F/URTQ>RGWSIOE^95FD:1TR=?$EB\9P1*U[P1;M]7ZY?O9+&
MVTK>&TK0YO,KHH\^$D,S!N2W)Y-\^&O7>CVH&8_%5Y(XR9AG,/KT)&-A-LI6
M,U]8>D4&^DG&.6>C)B<95\V8W*_7QE P5,W<K=/ZD](5C'>"V:SD1I5KH[TQ
MQ"]BO0KU5T5X#NH<&A3=#(YT\UD^)\ER+XE>R7^*-ZC@4?;?CI6_+]5AMYH?
M&#]E:^;SVYX\\F4\W?+>[&]_T<?:W[M"'XF92,Q"8C82<Y"8B\0H$O- 6"LW
MAG5N#%7Z[!^;:,[3/#L6^9%F&<0L]H-X19;-H>:G,B7+7%'V<FFN(#$3B5E(
MS$9B#A)SD1A%8EZ)C0HL'UML9\9-?]N1 *,Z 4;*!*@."OG+9)ZDLK6,_NPC
MB>781V9%F+"8)&FPDHE1#!B6G&==":#LY=($0&(F$K.0F%UBXYT/<S"=:II6
M?Z)E:"/[= _[U(?#R4&G%-FI!\): 3ZN WRL#/ G[B?Q@MS)0?-"_A/DGPFA
M\58^2M)7HMJG*]U+0QJ)F4C,0F(V$G.0F(O$*!+S0%@K.R9U=DS>96PP0>8&
M$C.1F(7$;"3F(#$7B5$DYH&P5FY,Z]R8*H\<7]B/(-I$S6D1\9GL+$\/>2(4
M5IE3C@VZ<D2I7YHC2,R<'IP$C#3MX!S 0O9I(S'G< ,&75O@(CNE2,P#8:W
MOJX#^UH9V(]\S5[S<Z&L/,6/5[\*GD;%$+@KD*\/?MO&Z/"7_7"XV*1C,5.Y
M;I?NH)&8C<0<).8B,8K$/!#6BF-=:ZH#VHE(SFML^:XYV8A,L'A1/)Z'P:H8
MKF:$1<DF[HQJ-7WI_AFJF5#-JK3=S!P>)J8-[=2!:BY4HU#-0VGM'-BID.F
M 2[Y23[+Q>2)"XWESG[.XN_DZW+)Y=D+>62"DP^?Z?W7QZXJQKUZ!2[.%*1F
M0C4+JME0S8%J+E2C4,U#:>V$,IJ$,MYE3%RQJ#1!:B94LZ":#=4<J.9"-0K5
M/)363I.FJJPK"W.SXCC",T%2>?CHS =H 1FJF966'[KK<R+M2AN-]H; T%YM
MJ.9 -1>J4:CFH;1VI#<U8EU=)#;+^]E(<#+BH65@J&96VE[$ZYHQW0]Y:)$7
MJCE0S85J%*IY**T=\DU56%>7A<\>5,@%-_D8XNN6IW%^LR>QZWLHRG'%TU?[
M\9>=]VF\X#_(TPM;%PMTYA&TF@S53*AF034;JCE0S85J%*IY**V=;$V%6A^_
MSX #6J&&:B94LZ":#=4<J.9"-0K5/)363I.F5*TKJWUG##B@56FH9E;:=7N\
M,=X_]X(6G*&: ]5<J$:AFH?2VG'>E)UU==WY_.$&M,(,U<Q*T_6]X88^.8AY
M:)D9JCE0S85J%*IY**T=\TU%6E>7I(MY/D&<B723#S<^MH/_(^'+)2^FJI$U
M3WVY!%MUIP2RN/D U4RH9D$UN](.K@X,AWLWHT*[=:$:A6H>2FM/*6M*V\:I
MTO8V";?Y,'I_6/#SS/M7U1U<F@M0S81J%E2SH9H#U5RH1J&:A]+:"=/4P0W]
M74;1!K2Z#=5,J&9!-1NJ.5#-A6H4JGDHK9TF377;4)8%__1=K6K^XG2!5KFA
MF@75;*CF0#47JM%*.WEWKM>UH-9>L!WD36W:.%6;?CM!\I-,=$Y84PL7QS&T
M.@W5+*AF0S4'JKE0C4(UK]+:%P GHR.1WM2F#75MNH[T:LIFNN!I^"KWX[]O
M@D4Y97/+PDWG8%E-7YP"T'(U5+.@F@W5'*CF0C4*U;Q*:Z? ]%@*-+5JX_\S
MA5G=S<7I *TZ0S4+JMG&X9SB8<?AWH'VZE;:[E1XO:M;"NW60VGM6&]*Q89Z
M-O-=E*0B^(,OBN@.LFS#8I\KSG*@)6*H9D(U"ZK9E=::\W3=$=+0VF^E[89T
MU]1\:*<>2FL'=%/4-=1%7=5ESD?N\V#+YB'/U!<ZH75?J&9"-0NJV5#-@6HN
M5*-0S4-I[91IZL/&]'TN=$++Q5#-A&H65+.AF@/57*A&H9J'TMIITI24#75)
M^4]?Z(26DJ&:"=4LJ&9#-0>JN5"-0C7/.#;-_LC5T$%32AZH2\G?RELF\G!G
MOI_/A\Y(6I];D4TFAQ,LZTB4KK10]W5I6D U$ZI94,V&:@Y4<Z$:A6I>I;4O
M&ET?28FF6#Q03YI&73-2=W-Q-D"+QU#-@FHV5'.@FEMIN\/P<<<P'-JIA]+:
M^=!4A0?JJO"EUY74W,5Q#ZT"0S4+JME0S8%J[N"P'*N/.N(>.HD9I95QW]_Y
M2_,13U?%-QMDI#CG*?_H?/UJ_>T)=\5W!O2;Q<NO7OC"4KGWSTC(E[)I7JKK
MD;3\-H/RB4C6Q=^MGR=")%'Q\)FS!4_S!>3[RR01;T_R#NKOE)C]#U!+ P04
M    "  L1*M6L:KMNBD"  #6!   &0   'AL+W=O<FMS:&5E=',O<VAE970T
M,BYX;6RU5%%KVS 0_BN'5D8+6^PX23LRV[ TC 76$AJZ/8P]*/8E$94M3SK'
M+>S'3Y)=DXTD;WNQ==)]WWUWIU/<*/UD=H@$SX4L3<)V1-4T"$RVPX*;@:JP
MM"<;I0M.UM3;P%0:>>Y!A0RB,+P."BY*EL9^;ZG36-4D18E+#:8N"JY?9BA5
MD[ A>]UX$-L=N8T@C2N^Q1728[74U@IZEEP46!JA2M"X2=BGX70V=O[>X9O
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
M&5U$1??N1\D/#A52LZ":#=4<J.9"-0^J^5 M@&HA2I/#UU8:Z";T<J@.+3B
M:A94LZ&: ]5<J.9!-1^J!5 M1&ERV-K2 UUYX;77I5$U,3A@T(H#J&9#-0>J
MN5#-JS7I_%*?R\?"?L>3C.G!I8D ^KI"E";'H2T4T-65 O<16ZQW)7@/$>-Q
M6:PMSJ%.E;JIM<')0&H65+.AF@/57*CF034?J@50+41I<M;:@@1]ACW.@Q8H
M0#4+JME0S8%J+E3SH)H/U0*H%J(T.6QM38.N+FIXSQCZO,\8.O):M@75[#X;
MX$"[=*&:!]5\J!9 M1"ER>EHRQAT=1W#79X]4U9]N2]?D:SZTA+/2<'SQ3?R
M(<[J[_-\)#]/?[/GMNYCOY)GJAG:X776._5K&1P9:($#5'.@F@O5/*CF0[4
MJH4H3<Y66^B@JRL=%*=4_<?3H=404,V":C94<Z":"]4\J.9#M0"JA2A-_GYJ
M6SYA:-#S+ -Y=?P.JEE0S89J#E1SH9H'U7RH%D"U$*7)86NK,8PWJC%ZC*>K
MB<$!@Y9<0#4;JCE0S85J'E3S:TT]\ [M,D1I<F[:B@M#77'QCO$)M3@X1M B
M"ZAF0S4'JKFUIAQD\:!=^E M@&HA2I-CU-9.&.II&CIJEIJO,WU^$H^5X>H,
M$[2( JI94,V&:@Y4<Z&:!]5\J!9 M1"ER:EKBRB,"?8,"UI0 =4LJ&9#-0>J
MN5#-@VH^5 N@6HC2Y+"U)1J&ND3C]YR+LZLDCA[C).8_SDA&>3EJ__K5=A)E
M2[**,W'X&&=/9$6[1^N-XR_LZ^;A]V[OU*]E<+:@)1F]ML"!]NE"-0^J^5 M
M@&IAQ]]*FA%$SD);0F&H)W6HYE$[/N;K_+Q#JR>@F@75;*CF0#47JGE0S8=J
M 50+49J<L[9ZPIAC#_"@,T1 -0NJV5#-@6HN5/.@F@_5 J@6HC0Y;&TQAJ$N
MQN@UA Z=1@*J64;'K!3SP^,R&]JG ]5<J.9!-1^J!5 M1&ER<-I*"^.-.27>
MG.)+#0R.#;2.HM:DB9 N)X>I@99'0#47JGE0S8=J 50+:VW__TM3FW:?&IEM
MU8.IGC3B[5F\U,#0,$ UJ]:D,!S-)VA#^W2@F@O5/*CF0[4 JH4H38Y-6[]@
MJNL7WC&CEUH<G"-H.8-Y?"']<,8'&]JC ]5<J.9!-1^J!5 M1&ERBMIJ!E-=
MS?#F[%[J]H,S ZU=J#7U;&$VM$\'JKE0S8-J/E0+H%J(TN34["TQH2Y>N(^^
MQ^DV)8PN:;K9K9-T<@1 ;0U.$':=";-CM/]HMX-=0 *[@@1V"0GL&A+8122P
MJTC\/^H0S+8.P51>>KVIEC$KO[A4K?1#TBA;1CQG/_82=4:R;?HH'BROF-;K
M 17DIVIMH%MUKX.C!BU7J+7]$R7S,&C0&@2HYD(U#ZKY4"V :B%*DX/6UB"8
M;RPHT3'GWG)+F^B)()4!V]N1Y=6/SG1!YY" :E:ME3,<[A\+'I]"06>'@&HN
M5/.@F@_5 J@6HC0Y8FUI@ZDN;?B#Q9R*$*UV02K7]"S+>7H,1T +':":!=5L
MJ.;4FC14<CCBZ$*[]*":#]4"J!:BM%V8QGNK=*:4/54+R1:DNNRS6["SN;=9
MK/9SM43KN'WZ;J7;^X@]Q5E!$KH23;7SN4@]VRT>N[O!\TVUYN=CSGF>5K^N
M:;2DK'R">'R5Y_SU1ME!LX3OS?\ 4$L#!!0    ( "Q$JU9UIDO^?@,  (80
M   9    >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;+V876_;-A2&_\J!5A0M
MD%I?_DA2VT!KH5B&%@OB9KL8>D%+QS9;2M1(VD[__4A)5J54$2* G2\L4>3[
MDGQ$'O-X?N+BF]PC*GA(6287SEZI_-IU9;S'E,@1SS'3-5LN4J)T4>Q<F0LD
M22%*F1MXWM1-"<V<Y;QX=BN6<WY0C&9X*T >TI2([^^1\=/"\9WS@SNZVROS
MP%W.<[+#-:K[_%;HDEN[)#3%3%*>@<#MPGGG7T=^(2A:_$7Q)!OW8*:RX?R;
M*=PD"\<S(T*&L3(61%^.N$+&C),>Q[^5J5/W:83-^[/[AV+R>C(;(G'%V=\T
M4?N%<^E @EMR8.J.GW[':D(3XQ=S)HMO.%5M/0?B@U0\K<1Z!"G-RBMYJ$ T
M!/[X"4%0"8+G"L)*$#Y7,*X$XX),.96"0T046<X%/X$PK;6;N2E@%FH]?9J9
M][Y60M=2K5/+FRSF*<)G\H 27D6H"&7R-;R!^W4$KUZ\AA= ,_A$&=-O2<Y=
MI?LT2C>N_-^7_L$3_I^(&$'H7T#@!6&'?-4OCS"NY4&'/'J^W&_+70VJIA74
MM(+"+WS"[\\<!5$TV\%'+B6LB!#?]=X[$9%(^.>C;@TW"E/YI0M4:3WNMC;[
M^UKF),:%HS>P1'%$9_GR-W_JO>W"9M,LLF360AK62,,^]P929I#&!NF;,],N
MC+UV0S&69GZY?DR,/"ZO1OY5ZS-WCTU8G9)IW:@%85Q#& ^ <*&C\.:K#HR@
M..!#3DT=S[I@C'\>3#@;3=I#7O5V/G2Q6#)K<9K4G":]G.Y'ZQ%\P$338A>P
M5D0AD"S1NS$FS 0Q>'=0>RZHHMBY>'KMARX>FV:1);,6UFF-=?KKPMK4)E*;
M9I$ELQ;268UTUKM2(]RB$)B THN22(E*;VL^--;U]C&4;6GFAXU8X8?!:/PH
MOEGJLT7MLJ9V:8?:&=H%Y%R4!\BC/KF0#=,!8:M0 ,ES1N,B< +?PLW="M;5
M63.\#(#1E*JBMA-\[S"'@B_-)@WN,_\1=$O]M:!?U="O>J$_#J-_' 25"8V?
M^LWI=1O*QJ999,FL1='W?IRDO5\712MO2U2MND6VW-I<&QF*_S^$TOY.!@/V
M?SYXS?3!J^_@:&L$)4:WD?.9#%TG6CN:26"XU?;>:*;CC2B3WK*@>%ZD@1NN
M=%)9W.Z1Z*.4::#KMYRK<\%DEO5?#\O_ %!+ P04    "  L1*M6<^:KRPX#
M  !)"0  &0   'AL+W=O<FMS:&5E=',O<VAE970T-BYX;6RM5EUOVC 4_2M7
M6;6U4DM"(+3K(!(EG59IE5!9MX=I#R:Y)%:3.+,-E'\_VPEIZ +KJO) ;.>>
MXWO.C3^&:\8?1((HX3%+<S&R$BF+2]L688(9$1U68*[>+!C/B%1='MNBX$@B
M \I2VW6<@9T1FEO^T(Q-N3]D2YG2'*<<Q#++"-]<8<K6(ZMK;0?N:)Q(/6#[
MPX+$.$-Y7TRYZMDU2T0SS 5E.7!<C*QQ]S(8Z'@3\)WB6C3:H)7,&7O0G9MH
M9#DZ(4PQE)J!J,<*)YBFFDBE\;OBM.HI-;#9WK)_-MJ5ECD1.&'I#QK)9&1=
M6!#A@BQ3><?67[#2XVF^D*7"_,.ZBG4L")="LJP"JPPRFI=/\ECYT !T^WL
M;@5P7PKH58#><X"W!]"O 'WC3"G%^! 02?PA9VO@.EJQZ88QTZ"5?)KKLL\D
M5V^IPDE_)EGXD+ T0BX^P/7O)94;.(-;PL,$7,?MP933%9$(TY2$J HN!1P'
M* E-Q<D_(M7K^UD QT<G< 0VB(1P%$!SN,^I%*=J4+6_)6PI2!Z)H2V5()V6
M'5;)!V7R[I[DNW#+<ID(N,XCC';QMC*B=L/=NG'E'B148CK0<TZ-GI9\)B^
MNQ=[X<%+9N^VP7?4].K:]@Q?;U]MM=]G>E5$,&&9VBD$,8MMS#G)X[)$\PTT
MXZ9D8X;':\(C^/E54<*-Q$S\:M%S5<[?;Y]?[UB7HE#?PLA26Y) OD++?_^N
M.W ^M7G[EF3!&Y'M^-ZO?>\?8O=G)$5@"PA9EBFWA5YB<*P^]7(!G+0Y63)Z
MAE%OU2O?<_1O:*^:'OT=UG4N/,?=#0L.YO=*]5ZMWGN%>KT/%,A+"UH=*%G/
M&]*<CO=,?FO,P/GX3/[!!%\I?U#+'QR4/XYCCK'>!F/.A(""LQ Q$D RMLQE
MF_*#A/^[BMZ2+"C)!@V_>\Y334I_[,;ADR&/S2$N5/F5VO(<JD?K>\+8'(_V
M4WAYR5 ;8$QS 2DN%-3IG*M"\O+@+CN2%>8HFS.I#D;33-1=![D.4.\7C,EM
M1T]0WY[\/U!+ P04    "  L1*M6M@BJPZ("  #^!0  &0   'AL+W=O<FMS
M:&5E=',O<VAE970T-RYX;6R=E&UOTS 0Q[_**4RP25N3I>TV1AMI#TQ, JE:
M&;Q O'"3:V/-CH/MM*O$A^=L9R&@;D*\B1]R][_?W=F>;)1^,"6BA4<I*C.-
M2FOK\S@V>8F2F8&JL:(_2Z4EL[34J]C4&EGAG:2(TR0YB27C591-_-Y,9Q/5
M6,$KG&DPC91,;R]1J,TT.HZ>-N[XJK1N(\XF-5OA'.U]/=.TBCN5@DNL#%<5
M:%Q.HXOC\\NQL_<&7SAN3&\.+I.%4@]N<5M,H\0!H<#<.@5&PQJO4 @G1!@_
M6LVH"^D<^_,G]1N?.^6R8 :OE/C*"UM.H[,("ERR1M@[M?F ;3X>,%?"^"]L
M6MLD@KPQ5LG6F0@DK\+('MLZ]!Q&SSFDK4/JN4,@3WG-+,LF6FU .VM2<Q.?
MJO<F.%ZYILRMIK^<_&PVMRI_*)4H4)LW\/Y'P^T6CN &%[JA)D&:I$.8:;YF
M%F$F6([4$0O[UV@9%^;@'VSW( 93,HT&> 7W%;?FD#9I_KE4C6%582:QI5P<
M49RWW)>!.WV&FX(.(!T=AJ#W\VO8WSOHAPK#G\(Q%:>K4-I5*/61AL]5R D=
MN<X7<*4DW0;#_(&ZT)I5JY#C8@M]NQG;^NV+#=,%?/M(DG!K49KONS(-\4>[
MX[M;>6YJ*N8THFMG4*\QREZ_.CY)WKV0W;#+;OB2>C9G D$M(5=24D[&'0?8
MI]Z$^AW SYV5#.!!>NREW>U?9V?),#U.)_%Z!]*H0QK]!Y)K<8TZT#BLW[W>
MA19"G/;0DL'H[=ENLG%'-GZ1;*95CE@86&HE@1O3L"KWK'5[ZNONU!/@+JX0
MX*3'-4J2OZCBWG5V+^,GIE>\,B!P25[)X)1$='AMPL*JVM_PA;+T7OAI20\T
M:F= _Y=*V:>%>S2Z)S_[!5!+ P04    "  L1*M6(U= !TT#  #U"@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970T."YX;6S%EF]OVS80QK_*02NV!&@L6;9L
M)[,%.$Z&=6@!HV[:%\->T-)9(B*1*DG;S;??D7(T.U,$) C0-S%)\1[>[^&?
MW'0OU;W.$0W\* NA9UYN3'7E^SK)L62Z)RL4]&4C5<D,=57FZTHA2UU06?AA
M$(S\DG'AQ5,WME3Q5&Y-P04N%>AM63+U<(V%W,^\OO<X\)EGN;$#?CRM6(8K
M-'?54E'/;U127J+07 I0N)EY\_[5XM+.=Q.^<MSKHS98DK64][;S(9UY@4T(
M"TR,56#TL\,%%H45HC2^'S2]9DD;>-Q^5/_#L1/+FFE<R.(;3TT^\R8>I+AA
MV\)\EOL_\< 36;U$%MK]A?UA;N!!LM5&EH=@RJ#DHOYE/PX^' 7TA\\$A(>
M\&E ]$S X! P<*!U9@[KAAD63Y7<@[*S2<TVG#<NFFBXL+NX,HJ^<HHS\<K(
MY#Z718I*_P:WW[?</, %_,7$EC85PB <P(H)^@RWUGHE!4\T+!7?,8.P+%B"
MM*D&SF[0,%[H\U=%7\#=Z@;.WIW#._!!YTRA!B[@3G"CW],@M;_D<JM)3$]]
M0^0V?S\Y4"YJRO 9R@%\DL+D&FXIE_0TWB?'&MO"1]NNPTY!(NQ!?_S>(;;E
MTQW^B:D>#/IMX2?I#)I='#B]P7.[: V[L,<YA84LZ8IKYF[)7"DFLMKC]0,<
MSUNR!S<\WS.5PM\?21(^&"SU/RT\U_7ZP_;U[5-SI2O:S)E';XE&M4,O_O67
M_BCXO<V<-Q([L6K86#7L4H]7K$"0&TAD69)!VIY_.*/C51^Z\S;X6C%RBO99
MW,71<#@*HW#J[XZY.E=^)5?4<$6OX+*WJJ+;Y^!:V6K5\1%;T(N"8/($K7/Q
M5Z*-&K11)]H\RQ1F]L'(E-0:*B43Q%0#*^56F#:J3L&7'M=:;'1D4=@/@L:@
M$Z9QPS3N9+I6/,T0/DHFVO+O#'YI_F\D=L(Y:3@G/_EEFKRE56\D=F+596/5
M9?<-SJ4R%P95277(NO587_[O)(ZB\9.;VKG(2Q'\H\JB1)6Y@DO3(T/WKBXR
MFM&FIIN[4L;_;WI=$-+_O(P+#05N*#3HC>E)476157>,K%R=LI:&JA[7S*DN
M164GT/>-E.:Q8Q=H*MWX7U!+ P04    "  L1*M62=34'F #  #!"@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970T.2YX;6RM5F%OJS84_2M7[&EKI== ()"T
M2Y#:ANV]:96BE]=-T[0/+MP$JV#S;).\_OO9AK(D)5%7M1\:V]QS['.NN=SI
MEHM'F2,J^%X63,Z<7*GJRG5EFF-)Y(!7R/23%1<E47HJUJZL!)+,@LK"]3TO
M<DM"F1-/[=I"Q%->JX(R7 B0=5D2\72#!=_.G*'SO/"%KG-E%MQX6I$U+E'=
M5PNA9V['DM$2F:2<@<#5S+D>7B61B;<!?U#<RITQ&"4/G#^:R>=LYGCF0%A@
MJ@P#T3\;O,6B,$3Z&-]:3J?;T@!WQ\_LOUCM6LL#D7C+BS]IIO*9,W$@PQ6I
M"_6%;S]AJR<T?"DOI/T/VS;6<R"MI>)E"]8G*"EK?LGWUH<=P'!T!."W /^U
M@* %!*\%C%K Z! 0'@&$+<!*=QOMUK@Y422>"KX%8:(UFQE8]RU:^T69N2=+
M)?13JG$J7BJ>/N:\R%#(GR#Y5E/U!!?P&V&UOC;@>WX 7P5ADMC$2GT\E<,=
M4OBK9G#V*V7D'#[5A*WA;(Z*T$*>OQ%_ ??+.9Q].(</X(+,B4 )E,$]HTI^
MU(MZ_#7GM20LDU-7:?5&@YNV2I-&J7]$:0!WG*E<0L(RS/;QKG:ML\Y_MN[&
M/TFH-0Y@./YH1?:<Y_8U<.\H?/X*N!<>A2>GX7=$#" 8]L'WS BZ>Q18ON#8
M/3+INC"O; :WO-1E3!);":Z%SOX:=6E1\/ $NW$+\F27K[=$9/#W[YH2/BLL
MY3\]>FZ:_4?]^YMR>B4KDN+,T?52HMB@$__XPS#R?NY+S7N2S=^3+'DGLKTD
MCKHDCDZQQTM2(/ 5I+PL=>JDJ0UPIE^[YF4\[TM+PQA:1O-1VL3#41!=AI=3
M=[/K^,NXP \G7K ?-G\9YH?C\>5D/RPYJ>.-+H6=2^$;7#*UJT+16-7K5,,Z
MWI'F#<+(O]S].S"M#S**O-&!:7UAP61\P):<E/5&TZ+.M.BD:0O!4\1,PDKP
M$JB4NN2GUL9*T U1"%6A]S;UH,^[ACS:43CQ#LTZ>8#_^TZ_)UGR\O1^Z'6G
M;_QT=[[A)8JU;9ZDOF0U4\WGO%OM^K-KVY:X_X4WS9VN[6NJ/[4%KC34&XQU
MXD73,#43Q2O;$3QPI?L+.\QUCXG"!.CG*\[5\\1LT'6M\;]02P,$%     @
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
M#L\<#:F9C/=</,D00)'G)&9R8H5*I;>V+?T0$BJO>0H,GZRY2*C"J=C8,A5
M ^.4Q+;G. ,[H1&SIF.SMA#3,=^J.&*P$$1NDX2*PPQBOI]8KO6R\#G:A$HO
MV--Q2C>P!/68+@3.[ (EB!)@,N*,"%A/K#OW=N[VM8.Q^!+!7I;&1(>RXOQ)
M3SX&$\O1C" &7VD(BC\[F$,<:R3D\2,'M8H]M6-Y_(+^EPD>@UE1"7,>?XT"
M%4ZLD44"6--MK#[S_=^0!V0(^CR6YB_9Y[:.1?RM5#S)G9%!$K'LES[G0I0<
MO-X%!R]W\$X<W$L.W=RA:P+-F)FP[JFBT['@>R*T-:+I@='&>&,T$=.O<:D$
M/HW03TV7BOM/(8\#$/(/\O!C&ZD#N2)F^6J&^@1DSA-,&DF-[._O0=$HEA_0
MZ'%Y3]Z_^T#>D8B1?T.^E90%<FPKY*71;3_G,,LX>!<X=,DGSE0HR0,+(*CZ
MVQA/$93W$M3,:P3\1,4UZ;H=XCE>MX;/_.?=O08ZW4+CKL'K7M(XI *N5D;,
M!3W@(5#D3@C*-J#''?+PK 7&IZ@?F=,T4C2._H.@0^X2OD7K;_\@)/FH()'?
MZ_3-]N_5[Z]O@EN94A\F%AYU"6('UO3WW]R!\V>=."V!5:3J%5+UFM"S=,RE
M\LMY!YE$=<%GB .#J&^MW=0;C.U=.:1SDUZO,*D0[1=$^XU$'QE0P9"EO,"X
MCFG_C(9;XI%1S6SZY6A&_7JN@X+KX.>XGBGJ*UQ5G*P KV2?;UB6=2F(B =U
M$31OY)$#[B3)D"39@1Z0@![J;H1Y(] O)MFPT&/82'/.I2)\322-H?:Z:G1_
M[7%J":P2Z:B(=/3&-\^H3:E: JM(=5-(==/ZS7-S=IZ=D]-\<W::W?JS[#K'
M#[;32'0A>+#U%=8J.RS"4OT>:S^YC2BO?3-MH55C+A4I[AOG<4Z@+;E:0JO*
MY1WE\EK/Y1RRG*JGGZ8:D\&%;#Z61FYC.3%=8@$?L4V';("!H'''O$$:8*D;
M226H+O)KZ;9:\K2%5A7A6/2XO;=.[\:RZ]5RM816E>M8>KG-M=<OI?=Y[:5K
M^VI^G]MTAR<);I=:K03$QG2@$FG@6\@:E&*UZ'+O3&]WLC[3W:]IX8XP6>N,
M[<<F8I+$L$9(YWJ(M$36C683Q5/3T*VXPO;0#$/LX$%H WR^YER]3/0&Q?\$
MIO\#4$L#!!0    ( "Q$JU9U+A3: 0,  *T'   9    >&PO=V]R:W-H965T
M<R]S:&5E=#4V+GAM;(U5;6_:,!#^*Z=LVEII)2^\=Q )"M4JK1HJZO9AV@>3
M',3"B5/;0+-?/]N!C$YIUB^)7^Z>Y[FS[SPZ<+&5":*"YY1E<NPD2N77KBNC
M!%,B6SS'3.^LN4B)TE.Q<64ND,36*65NX'D]-R4T<\*175N(<,1WBM$,%P+D
M+DV)**;(^&'L^,YIX8%N$F46W'"4DPTN43WF"Z%G;H42TQ0S27D& M=C9^)?
M3X?&WAI\IWB09V,PD:PXWYK)73QV/",(&4;*(!#]V^,-,F: M(RG(Z9341K'
M\_$)_=;&KF-9$8DWG/V@L4K&SL"!&-=DQ]0#/WS!8SQ=@Q=Q)NT7#J5M?^A
MM).*IT=GK2"E6?DGS\<\G#D$W5<<@J-#8'671%;EC"@2C@0_@##6&LT,;*C6
M6XNCF3F4I1)ZEVH_%2X5C[8)9S$*^1'F3SNJ"KB"N514AXP2'A5E]#?&<#%#
M12B3EWK;>L&WW"1VY"JMPZ"YT9%S6G(&KW"VX9YG*I$PSV*,7_J[6G\51' *
M8AHT MX3T8*V_PD"+PC@/;@@$R)0-D"WJ_RT+73[M?P8H"MS[C'<\%37@B3V
M.DV$(-D&]?U4L"K@W&Y!"KL\.1 1P\^O&A+N%*;R5UVN2OY./;^IR6N9DPC'
MCBXZB6*/3OCAG=_S/C=$UZFBZS2AA[>$"M@3MD/@:^#V/"50*7?FP!^7,\A1
ME,F\K-->H@\LNBG_?>BW_/[(W==HZE::NHV:YL\H(BH1<D$C?(N*;HV*SJ!>
M1:]2T?N/BESW#9T%1M<ODG-!,RB0"%DKI1FT5WJ"#ZDI .A!3(JF6]JOU/8;
M@1^HW%ZM!2+03*&^)PJ$KMXZA260[YUERVMY_K ^78-*P.!MZ=IS1DS'4$4=
M^:".?#@,ZLF'%?FPD7Q&]S3&+(:"(HOK>$O_X3GM/Y3N60M-46SL0R$AXKM,
ME=VT6JW>HDG9@O^:EP^9[D8;JF\*P[5V]5I]?3]%^3B4$\5SVY!77.GV;H>)
M?D]1& .]O^9<G2:&H'JAPS]02P,$%     @ +$2K5@FTT8_K P  &P\  !D
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
M%&:#_C[F7#U/C(&JYX]_ U!+ P04    "  L1*M684,8^Y,"  #*!P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970U.2YX;6RM56UOFS 0_BL6JZ96ZDJ )-TR
M@M2$5=ND:E&S;I]=N 2K8#/;)-V_W]D0FK0$K5*_@%_N>>[N.;@+MT(^J Q
MD\<BYVKJ9%J7$]=5208%51>B!(XW*R$+JG$KUZXJ)=#4@HK<]0>#L5M0QITH
MM&<+&86BTCGCL)!$545!Y=\9Y&([=3QG=W#+UIDV!VX4EG0-2]!WY4+BSFU9
M4E8 5TQP(F$U=:Z\23PR]M;@%X.MVEL3D\F]$ ]F\RV=.@,3$.20:,- \;6!
M.>2Y(<(P_C2<3NO2 /?7._9KFSOF<D\5S$7^FZ4ZFSH?'9+"BE:YOA7;K]#D
M8P-,1*[LDVQKV_'((4FEM"@:,$90,%Z_Z6.CPQ[ .P;P&X#_'# \ @@:0/"_
M@&$#&%IEZE2L#C'5- JEV!)IK)'-+*R8%HWI,V[*OM02;QGB=#071<$TUE$K
M0GE*YH)KQM? $P:*G,:@*<O5&?E [I8Q.3TY(R>$<?(S$Y5">Q6Z&J,P7&[2
M>)S5'OTC'@-R@SXR1;[P%-)#O(O1MRGXNQ1F?B_A$LH+$@S.B3_P@XYXYOWP
M[Q7OA<?]\!LJ$>YUP0^R"=J"!)9O>(3O1Z651F6Q"*2L9)+A1TV2IRIU"=[+
M:!K'1)4T@:F#G4&!W( 3O7_GC0>?N]1Z2[*X)AM;,M.!-I$7?/)"=].AT+!5
M:-BKT#(!3B43YP3_?$BHTEV:]'*\5I.W)(O?B.Q NU&KW:A7N\7++ZI+O-'+
MLHW:HM62=)@$E^-#H[@WF->FZNYUN0+DVDX+A9E47-?=HCUM!]*5[<//SF?>
M9%[/E2>:>LKAS[QF7)$<5D@YN+C$!&0].>J-%J7MI?="8V>VRPR'+4AC@/<K
M(?1N8QRTXSOZ!U!+ P04    "  L1*M6O1(+G:8"  #0"   &0   'AL+W=O
M<FMS:&5E=',O<VAE970V,"YX;6RMEE%OFS 0Q[^*Q:JIE;9"@'13ER"U"=,Z
MJ5K5M-O#M <'+L$JV,PV2?;M=S:$)1MEJ9278)O[_>]\YYP9K85\4AF )ILB
MYVKL9%J7EZZKD@P*JLY%"1S?+(0LJ,:I7+JJE$!3"Q6YZWO>A5M0QIUH9-?N
M9#02E<X9ASM)5%445/ZZAERLQ\[ V2[<LV6FS8(;C4JZA!GHQ_).XLQM55)6
M %=,<")A,7:N!I?QT-A;@Z\,UFIG3,Q.YD(\F<E-.G8\$Q#DD&BC0/&Q@@GD
MN1'",'XVFD[KTH"[XZWZ1[MWW,N<*IB(_!M+=39VWCLDA06M<GTOUI^@V8\-
M,!&YLK]D7=N&:)Q42HNB@3&"@O'Z23=-'G8 U.D&_ ;P_P;"9X"@ 8)#@; !
MPD.!80/8K;OUWFWBIE33:"3%FDACC6IF8+-O:<P7X^:<S+3$MPPY'7W1&4AR
MPQ-1 #F=@J8L5V?D+7F<3<GIR1DY(8R3ATQ4BO)4C5R-3@WJ)HV#Z]J!_XR#
M@-P*KC-%8IY"NL^[&&P;L;^-^-KO%9Q!>4X"[PWQ/7_0$<^D'[^E$O&!Q8,.
M?-J/3R%I<;\#C_OQSQ5_+OB]9 1M^0*K%QQ2/BP0B3?8010H\OUJKK3$_^&/
MKIK5JF&WJNE-EZJD"8P=;#X*Y J<Z/6KP87WH2OAQQ2;'E,L/I+87FG"MC1A
MGWH4WS],3">M>-I5@1J^L+!IYJLH#/!$K'83V^O@I8D]IEA\)+&]Q [;Q [_
MGUC <YYH2#'#"; 5G>?0E>5>I9>>\^&_)0N'^R6;'F 3]]O4.7%W6GH!<FGO
M4D4247%==_=VM;VNK^PMY?XQK^]Z['A+QA7)88&H=_X._<OZ_JPG6I3V@I@+
MC=>-'6;XR0'2&.#[A1!Z.S$.VH^8Z#=02P,$%     @ +$2K5C_'[P!@ P
MLA8   T   !X;"]S='EL97,N>&ULW5A=;]HP%/TK4;I.K30UA*R!K("T(56:
MM$V5VH>]588X8,EQ,L=TL%\_7SL)'_5%M \K+*C$OL?GW&/[)B0=5&K%Z?V<
M4N4M<RZJH3]7JOP4!-5T3G-2714E%1K)"ID3I;MR%E2EI"2M@)3SH-OIQ$%.
MF/!' ['(;W-5>=-B(=303]J09T]?TZ$?QA]]S\J-BY0._<>+][\6A;IYY]GS
MV8>SL\[CY<UN_,( EW[@%+T^0/2JHP]4V:"8?'R8_#YQ3+JW+6V&GVLA2SS'
M:'T'36=9,Z&#D1,W>9N-TGN=@U9CSV)@PJ'3UX8IC-@]</OW[KX1#^HB'@VR
M0JQK.?)M0&<G.?6>"!_Z8\+91#)@921G?&7#70A,"UY(3^F+2-L)(5+]L7!H
M>W!]U3HY$X4TN6T&^SVIA^\ 30\,,LY;@UW?!D:#DBA%I;C5'3/8!)]!7MU^
M6)7:X4R25=B]]M<$<])))H5,J6S3A'X3&@TXS<".9+,YG%51!@ J5>2ZD3(R
M*P0Q'AI&W="R4\KY/=Q\?F9;VLML8U]-G8FVJ0W532MC.Z"_J6:U-V7C5^EZ
M)7LJU)>%GHXP?:@6>B=IQI:FO\Q: YAZB*N3LN2KSYS-1$[MY ]..!J0AN?-
M"\G^Z&Q0*E,=H-+WGJA4;+H9^2U)^4"7JBFG989[[IZ@YW^[SC,JJ"1\T[2N
M_6->Y5<[CGIO9=G<578-.SW63Q3';O+Z%$S&IV#R)&JR?PHFDQ,PV7NSN^9+
M3(:G8+)[_":CXRS)H'ZFW'APW7IL;:,>O!X,_1_P,L+72;W)@G'%1-V;LS2E
MXMG3JY979*)?R+?T]?B49F3!U4,+#OUU^SM-V2)/VE%WL!#UJ'7[&TQ//PHW
M[R8Z%Q,I7=)T7'?E;&*:GF[HK/4!A%WDUAQN!.-8S(T AN7!'& <R\+R_$_S
MZ:/SL1CFK>]$^BBGCW(LRX6,S0?+X^8D^G#/-$FB*(ZQ%1V/G0[&V+K%,?RY
MU3!OP,#R0*:7K36^VWB%[*\#;$_W50@V4[P2L9GB:PV(>]V D23NW<;R  /;
M!:QV(+\[#]24FQ-%L*N8-^P*QI$DP1"H17>-QC&R.C%\W/N#7251E"1N!#"W
M@RC"$+@:<01S !XP)(K,[^#.[U'0_$X%Z_]2C_X"4$L#!!0    ( "Q$JU:7
MBKL<P    !,"   +    7W)E;',O+G)E;'.=DKENPS ,0'_%T)XP!] AB#-E
M\18$^0%6H@_8$@6*19V_K]JE<9 +&7D]/!+<'FE [3BDMHNI&/T04FE:U;@!
M2+8ECVG.D4*NU"P>-8?20$3;8T.P6BP^0"X99K>]9!:G<Z17B%S7G:4]VR]/
M06^ KSI,<4)I2$LS#O#-TG\R]_,,-47E2B.56QIXT^7^=N!)T:$B6!::1<G3
MHAVE?QW']I#3Z:]C(K1Z6^CY<6A4"H[<8R6,<6*T_C6"R0_L?@!02P,$%
M  @ +$2K5NO^MQ6P!   P2<   \   !X;"]W;W)K8F]O:RYX;6S%FDMSVS80
M@/\*1I>Z!U?B2WY,E(/CN'4GM3U6)M<,1*XL3$B !4 [SJ_O$HKL92OM] +S
M)!&DH(\K<#\LH'=/QGY;&?--?&]J[1:3C??M^73JR@TTTOUF6M!X9FUL(ST>
MVH>I:RW(RFT ?%-/T]EL/FVDTI/W[W9]W=DI/3 >2J^,QL:^X8N")_=ZOC\4
MC\JIE:J5?UY,POL:)J)16C7J!U2+R6PBW,8\_6&L^F&TE_6RM*:N%Y-D>^(+
M6*_*_S0O>\C/<N5"BY>K>XD@B\E\AAVNE74^7!'ZE\CX"'CQ]JCSYDK5'NRE
M]/"[-5VK]$/?#=[%E-Q&B,/N=1O$<_M_PFC6:U7"I2F[!K3?QM%"W0-JMU&M
MFP@M&UA,/IA'L.)./D!_4_@MU]7V!CV2D7#9<X4G['45&&/RZ JT@TK@.V=J
M52%')2YD+74)@D"F#&0Z(N37E$!F#&0V"N2RQ\&/$LB<@<Q'A!Q$LF @BS$A
M,P(Y9R#G<2%OI.\L"+,6MRW8[7E"=L*0G<0ENY!.N1[LSH+#2\,50FJ,8-<T
MDD">,I"G<2&O]2->@ 8 &K4S!N@L+A":#7]'_QP"]?'O3K7]!VB2GG%9>A:7
M[A-(-XA4PCHCLC0N836(#*>&)+(;KG5I&A"?Y?=A?#@3))%5L/2F_+8Q=076
M_1(&DW^F;)P DN@&:!KE^XM<&.J88CU.AD"7PT<QX0201#; K=_@+&G[TU(F
M+M\GD1,^FU8'ZDRXY)^,F?T'\DRX])^\7?X71SA/K\']2MDX$R2CJ& ?9LHY
M(7T3)^S%XN20OH$<]D*Q!41D2^S+R'LA.6VDD;7!/[HYQ>0,DD8V"(]94$S.
M(6EDA_"8<XK):24=52LG%)/32CJJ5DXI)J>5-+)6>,PSBLD9)HUL& [S:R@T
M7A8T.,-DD0W#8R84DS-.%MDX/.9@>8AS4!:]4GF=\AR+)?98=75800AG*":[
MC!790D/,>XRH?01Q;^J^NR>Z?)!Q%LHB6^C )&T76(K)62B+;*&?D[1C<2-M
MOTJ$H3RZ!"]5/9AW9)R"LL@*>F'$VK U.I2&."I#,[913$Y!660%O6#21V?9
MM6T-_UJJR3@%99$5M!?SJ@NKA7_) 2:GH"RR@MAH#LK9G%-0'EE!H9K D6FA
M4EY<R;+?5PI%8WB**":GH/PMBIYC%)!IE'/&/HL;X^'EH:>8G(+RR K:C[D+
M9DTQ.07ED17T$W/I+7X#ZD?5.#Q?22DFNY<264%TZ7%O5L\Y\^21S;.WY#W&
M%&3+C4CI'#/GY)-'EL\!S"M8V4Y:NFR:<_+)(\OG .:?4O>4=)\TY^231Y8/
MBSG,ZIQ\\LCR.839:<"A.=B&Y.131);/ <Q+**%9@:68G'R*R/(Y@(G5T!JL
MI0OH!2>?8HPUN)>Q25>F"TX^Q0B;-XAYVWE$TA7%Y.131);/ <S0?'Q!R[2"
MW<H?QT(?G5?8V6!L<A8JQK%0:!:W+<7D+%2,8R$LTKU5)9T8%9R%BL@68O<8
MQ1'%Y"Q41+80W67<.W^;<_*9!_E,=W\9JV"M-%0WV+/#]E+6Y9T5_<MVBSPO
M^CVM=5?7'[#M5G\RLMK] VWW[[GW_P!02P,$%     @ +$2K5I@;6I[[ 0
MRR,  !H   !X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<\W:2VZC0!2%X:U8
M+"#E^R))*\ZH)YE&V0!RR@_%-HBBE63W;3D#YZ >]"2J,T(%XO*//A#P\)P/
MW;3O3V6W'\KBXW@XE56SFZ;A5TIEO<O'KMST0SZ=CVSZ\=A-Y^6X34.W?NNV
M.>ERV:;Q^XSF\>'[S,7+YY#_9V*_V>S7^7>__G/,I^D?@]-[/[Z57<Y3LWCI
MQFV>5DWZ.%QWEW39R,UY<K-X>ETUX].K-*EVD$*0U@\R"++Z00Y!7C\H("CJ
M![40U-8/NH6@V_I!=Q!T5S_H'H+NZP?)$F5<$B3-L";06I!K(?!:$&PA$%N0
M;"$P6Q!M(5!;D&TA<%L0;B&06Y!N(;!;$&\AT%M1;R706U%O)=!;9P_;!'HK
MZJT$>BOJK01Z*^JM!'HKZJT$>BOJK01Z*^JM!'HKZJT$>AOJ;01Z&^IM!'H;
MZFT$>MOL90F!WH9Z&X'>AGH;@=Z&>AN!WH9Z&X'>AGH;@=Z&>AN!WHYZ.X'>
MCGH[@=Z.>CN!WHYZ.X'>/GO93:"WH]Y.H+>CWDZ@MZ/>3J"WH]Y.H+>CWDZ@
M=Z#>0:!WH-Y!H'>@WD&@=Z#>0:!WH-Y!H'?,/E82Z!VH=Q#H':AW$.@=J'<0
MZ!VH=Q#HW:+>[4_J7:;/0R[7GJ\U7O\GJ9[.Y^;KY2_+KYUXOV@O."?X=^?Q
M+U!+ P04    "  L1*M6=-+&8MX!  !:(P  $P   %M#;VYT96YT7U1Y<&5S
M72YX;6S-VEU/PC 4!N"_0G9K6.D7?@2X46_5"_] W0ZPL*U-6Q#^O=T $XT2
M#2:^-UNVMN<]:Y/G:I/GG:,PV#9U&Z;9,D9WPU@HEM28D%M';1J96]^8F![]
M@CE3K,R"F!B-QJRP;:0V#F-7(YM-[FANUG4<W&_3ZU#9=IIYJD,VN-U/[+*F
MF7&NK@H3TSC;M.6GE.$A(4\K^SEA6;EPD29D[,N$;N3[@,.ZQPUY7Y4T>#(^
M/I@FS6+;FH6XJRGDITM\T:.=SZN"2ENLF[0D#\Z3*<.2*#9UOB]Z<3HYIAVF
M_96?G=^7.1689CYYZT(Z,4^_CSL>2;=ZZ%(A\K$Z_8GOB:GTV=]'W6F75/XP
M.VWOJ_6K_CP"ZV_G[_'',WZO_\L^!$@?$J0/!=*'!NEC#-+')4@?5R!]7(/T
MP4<HC:"(RE%(Y2BF<A14.8JJ'(55CN(J1X&5H\@J4&05*+(*%%D%BJP"15:!
M(JM D56@R"I09!4HLDH4626*K!)%5HDBJT215:+(*E%DE2BR2A19)8JL"D56
MA2*K0I%5H<BJ4&15*+(J%%D5BJP*15:%(JM&D56CR*I19-4HLFH4636*K!I%
M5HTBJT:15:/(.OY/65^L7?WUWQ[=/6],U1[S6?]+S>P-4$L! A0#%     @
M+$2K5@=!36*!    L0   !               ( !     &1O8U!R;W!S+V%P
M<"YX;6Q02P$"% ,4    "  L1*M6V04"N.X    K @  $0
M@ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4    "  L1*M6F5R<(Q &
M  "<)P  $P              @ ', 0  >&PO=&AE;64O=&AE;64Q+GAM;%!+
M 0(4 Q0    ( "Q$JU9D;&R8[ 4  +X?   8              " @0T(  !X
M;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4    "  L1*M6&HP5),T&
M  !W&P  &               @($O#@  >&PO=V]R:W-H965T<R]S:&5E=#(N
M>&UL4$L! A0#%     @ +$2K5GWY!FE" P  MPL  !@              ("!
M,A4  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4 Q0    ( "Q$JU9&
M&O/6I@0  +@2   8              " @:H8  !X;"]W;W)K<VAE971S+W-H
M965T-"YX;6Q02P$"% ,4    "  L1*M6YLZX=:L'  "C00  &
M    @(&&'0  >&PO=V]R:W-H965T<R]S:&5E=#4N>&UL4$L! A0#%     @
M+$2K5AW_^\B?!P  W"L  !@              ("!9R4  'AL+W=O<FMS:&5E
M=',O<VAE970V+GAM;%!+ 0(4 Q0    ( "Q$JU:;HO:&+P(  -D$   8
M          " @3PM  !X;"]W;W)K<VAE971S+W-H965T-RYX;6Q02P$"% ,4
M    "  L1*M6$*;Y"><?   29   &               @(&A+P  >&PO=V]R
M:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%     @ +$2K5IJ6S8]1 P  6 <
M !@              ("!OD\  'AL+W=O<FMS:&5E=',O<VAE970Y+GAM;%!+
M 0(4 Q0    ( "Q$JU8:QUZR- ,  "X'   9              " @453  !X
M;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L! A0#%     @ +$2K5D12]57I
M!@  B!T  !D              ("!L%8  'AL+W=O<FMS:&5E=',O<VAE970Q
M,2YX;6Q02P$"% ,4    "  L1*M6Z'VB*1$.  !5+   &0
M@('070  >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;%!+ 0(4 Q0    ( "Q$
MJU:1.BP.7 4  .(,   9              " @1AL  !X;"]W;W)K<VAE971S
M+W-H965T,3,N>&UL4$L! A0#%     @ +$2K5M"B7,9Z$@   $0  !D
M         ("!JW$  'AL+W=O<FMS:&5E=',O<VAE970Q-"YX;6Q02P$"% ,4
M    "  L1*M6:S.U%JP"   =!@  &0              @(%<A   >&PO=V]R
M:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    ( "Q$JU;2X]J#K@4  #T-
M   9              " @3^'  !X;"]W;W)K<VAE971S+W-H965T,38N>&UL
M4$L! A0#%     @ +$2K5H(4(@L@'0  Z5P  !D              ("!)(T
M 'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"% ,4    "  L1*M66P0U
M@)\$  "A"P  &0              @(%[J@  >&PO=V]R:W-H965T<R]S:&5E
M=#$X+GAM;%!+ 0(4 Q0    ( "Q$JU8F@K<V4P,  %\'   9
M  " @5&O  !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL4$L! A0#%     @
M+$2K5GA[NL3[ @  R@8  !D              ("!V[(  'AL+W=O<FMS:&5E
M=',O<VAE970R,"YX;6Q02P$"% ,4    "  L1*M6%]L+YJ $  #W#   &0
M            @($-M@  >&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM;%!+ 0(4
M Q0    ( "Q$JU997E%Z)@,  )0'   9              " @>2Z  !X;"]W
M;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#%     @ +$2K5HK(BCA?!0
M40X  !D              ("!0;X  'AL+W=O<FMS:&5E=',O<VAE970R,RYX
M;6Q02P$"% ,4    "  L1*M6)[HX<7\$  #%&   &0              @('7
MPP  >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+ 0(4 Q0    ( "Q$JU9O
M(9:4$P,  !$+   9              " @8W(  !X;"]W;W)K<VAE971S+W-H
M965T,C4N>&UL4$L! A0#%     @ +$2K5F?A+A7Y P  'A$  !D
M     ("!U\L  'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6Q02P$"% ,4
M"  L1*M6C\W8T:\"  #)!P  &0              @($'T   >&PO=V]R:W-H
M965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    ( "Q$JU;%CBS!"0,  #4*   9
M              " @>W2  !X;"]W;W)K<VAE971S+W-H965T,C@N>&UL4$L!
M A0#%     @ +$2K5DI=*RX+ P  'PH  !D              ("!+=8  'AL
M+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"% ,4    "  L1*M6OX<"!^L"
M  #."P  &0              @(%OV0  >&PO=V]R:W-H965T<R]S:&5E=#,P
M+GAM;%!+ 0(4 Q0    ( "Q$JU:K\OA-2P,  .\(   9              "
M@9'<  !X;"]W;W)K<VAE971S+W-H965T,S$N>&UL4$L! A0#%     @ +$2K
M5JJ[?+?E!0  FS   !D              ("!$^   'AL+W=O<FMS:&5E=',O
M<VAE970S,BYX;6Q02P$"% ,4    "  L1*M6XJ*0O*D"   *!P  &0
M        @($OY@  >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM;%!+ 0(4 Q0
M   ( "Q$JU9F!46LV (  +<'   9              " @0_I  !X;"]W;W)K
M<VAE971S+W-H965T,S0N>&UL4$L! A0#%     @ +$2K5H=H?1GD!   P",
M !D              ("!'NP  'AL+W=O<FMS:&5E=',O<VAE970S-2YX;6Q0
M2P$"% ,4    "  L1*M6_H,K&&@"  "R!@  &0              @($Y\0
M>&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4 Q0    ( "Q$JU:-QKU+
MD (  -4&   9              " @=CS  !X;"]W;W)K<VAE971S+W-H965T
M,S<N>&UL4$L! A0#%     @ +$2K5B_IR7W1 @  H @  !D
M ("!G_8  'AL+W=O<FMS:&5E=',O<VAE970S."YX;6Q02P$"% ,4    "  L
M1*M6[I F:@0#  #'"@  &0              @(&G^0  >&PO=V]R:W-H965T
M<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    ( "Q$JU8\'UT7C0(  'P&   9
M          " @>+\  !X;"]W;W)K<VAE971S+W-H965T-# N>&UL4$L! A0#
M%     @ +$2K5N0Q@YZK"   7V(  !D              ("!IO\  'AL+W=O
M<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4    "  L1*M6L:KMNBD"  #6
M!   &0              @(&(" $ >&PO=V]R:W-H965T<R]S:&5E=#0R+GAM
M;%!+ 0(4 Q0    ( "Q$JU90K'E-104  /D?   9              " @>@*
M 0!X;"]W;W)K<VAE971S+W-H965T-#,N>&UL4$L! A0#%     @ +$2K5AR'
M<W:;"0  SG<  !D              ("!9! ! 'AL+W=O<FMS:&5E=',O<VAE
M970T-"YX;6Q02P$"% ,4    "  L1*M6=:9+_GX#  "&$   &0
M    @($V&@$ >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;%!+ 0(4 Q0    (
M "Q$JU9SYJO+#@,  $D)   9              " @>L= 0!X;"]W;W)K<VAE
M971S+W-H965T-#8N>&UL4$L! A0#%     @ +$2K5K8(JL.B @  _@4  !D
M             ("!,"$! 'AL+W=O<FMS:&5E=',O<VAE970T-RYX;6Q02P$"
M% ,4    "  L1*M6(U= !TT#  #U"@  &0              @($)) $ >&PO
M=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0    ( "Q$JU9)U-0>8 ,
M ,$*   9              " @8TG 0!X;"]W;W)K<VAE971S+W-H965T-#DN
M>&UL4$L! A0#%     @ +$2K5HFND-@@!0  \AP  !D              ("!
M)"L! 'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6Q02P$"% ,4    "  L1*M6
M>(H3BS$%  #='0  &0              @(%[, $ >&PO=V]R:W-H965T<R]S
M:&5E=#4Q+GAM;%!+ 0(4 Q0    ( "Q$JU;+Z4(L70<  &A*   9
M      " @>,U 0!X;"]W;W)K<VAE971S+W-H965T-3(N>&UL4$L! A0#%
M  @ +$2K5AC&NBOO!   >AT  !D              ("!=ST! 'AL+W=O<FMS
M:&5E=',O<VAE970U,RYX;6Q02P$"% ,4    "  L1*M66'YZ-=P#  !*$P
M&0              @(&=0@$ >&PO=V]R:W-H965T<R]S:&5E=#4T+GAM;%!+
M 0(4 Q0    ( "Q$JU;1>$"WP0,  !\0   9              " @;!& 0!X
M;"]W;W)K<VAE971S+W-H965T-34N>&UL4$L! A0#%     @ +$2K5G4N%-H!
M P  K0<  !D              ("!J$H! 'AL+W=O<FMS:&5E=',O<VAE970U
M-BYX;6Q02P$"% ,4    "  L1*M6";31C^L#   ;#P  &0
M@('@30$ >&PO=V]R:W-H965T<R]S:&5E=#4W+GAM;%!+ 0(4 Q0    ( "Q$
MJU:/P?O9-0,  /\+   9              " @0)2 0!X;"]W;W)K<VAE971S
M+W-H965T-3@N>&UL4$L! A0#%     @ +$2K5F%#&/N3 @  R@<  !D
M         ("!;E4! 'AL+W=O<FMS:&5E=',O<VAE970U.2YX;6Q02P$"% ,4
M    "  L1*M6O1(+G:8"  #0"   &0              @($X6 $ >&PO=V]R
M:W-H965T<R]S:&5E=#8P+GAM;%!+ 0(4 Q0    ( "Q$JU8_Q^\ 8 ,  +(6
M   -              "  15; 0!X;"]S='EL97,N>&UL4$L! A0#%     @
M+$2K5I>*NQS     $P(   L              ( !H%X! %]R96QS+RYR96QS
M4$L! A0#%     @ +$2K5NO^MQ6P!   P2<   \              ( !B5\!
M 'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( "Q$JU:8&UJ>^P$  ,LC   :
M              "  69D 0!X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+
M 0(4 Q0    ( "Q$JU9TTL9BW@$  %HC   3              "  9EF 0!;
H0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@    !$ $0 DQ(  *AH 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<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>75
<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>76
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.23.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>212</ContextCount>
  <ElementCount>272</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>80</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>7</UnitCount>
  <MyReports>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0000001 - Document - Cover Page</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/CoverPage</Role>
      <ShortName>Cover Page</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>0000002 - Statement - Condensed Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets</Role>
      <ShortName>Condensed Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>0000003 - Statement - Condensed Consolidated Balance Sheets (Parentheticals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Parentheticals)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>0000004 - Statement - Condensed Consolidated Statements of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations</Role>
      <ShortName>Condensed Consolidated Statements of Operations</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>0000005 - Statement - Condensed Consolidated Statements of Changes in Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity</Role>
      <ShortName>Condensed Consolidated Statements of Changes in Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>0000006 - Statement - Condensed Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows</Role>
      <ShortName>Condensed Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>0000007 - Disclosure - Nature of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/NatureofOperations</Role>
      <ShortName>Nature of Operations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>0000008 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies</Role>
      <ShortName>Basis of Presentation and Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>0000009 - Disclosure - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/Inventories</Role>
      <ShortName>Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>0000010 - Disclosure - Property and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/PropertyandEquipment</Role>
      <ShortName>Property and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>0000011 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>0000012 - Disclosure - Debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/Debt</Role>
      <ShortName>Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>0000013 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>0000014 - Disclosure - Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquity</Role>
      <ShortName>Stockholders' Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>0000015 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/CommitmentsandContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>0000016 - Disclosure - Other Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/OtherIncome</Role>
      <ShortName>Other Income</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>0000017 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Basis of Presentation and Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies</ParentRole>
      <Position>17</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>0000018 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesTables</Role>
      <ShortName>Basis of Presentation and Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies</ParentRole>
      <Position>18</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>0000019 - Disclosure - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/InventoriesTables</Role>
      <ShortName>Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/Inventories</ParentRole>
      <Position>19</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>0000020 - Disclosure - Property and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/PropertyandEquipmentTables</Role>
      <ShortName>Property and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/PropertyandEquipment</ParentRole>
      <Position>20</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>0000021 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/Leases</ParentRole>
      <Position>21</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>0000022 - Disclosure - Debt (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/DebtTables</Role>
      <ShortName>Debt (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/Debt</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>0000023 - Disclosure - Stockholders' Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityTables</Role>
      <ShortName>Stockholders' Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/StockholdersEquity</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>0000024 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Basis of presentation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesBasisofpresentationDetails</Role>
      <ShortName>Basis of Presentation and Summary of Significant Accounting Policies - Basis of presentation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>0000025 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Disaggregation of Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails</Role>
      <ShortName>Basis of Presentation and Summary of Significant Accounting Policies - Disaggregation of Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>0000026 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Accounts Receivable and Geographic information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails</Role>
      <ShortName>Basis of Presentation and Summary of Significant Accounting Policies - Accounts Receivable and Geographic information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>0000027 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Net Accounts Receivable (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetAccountsReceivableDetails</Role>
      <ShortName>Basis of Presentation and Summary of Significant Accounting Policies - Net Accounts Receivable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>0000028 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Loss per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedLossperShareDetails</Role>
      <ShortName>Basis of Presentation and Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Loss per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>0000029 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Net Loss per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails</Role>
      <ShortName>Basis of Presentation and Summary of Significant Accounting Policies - Net Loss per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>0000030 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Product Warranties (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails</Role>
      <ShortName>Basis of Presentation and Summary of Significant Accounting Policies - Product Warranties (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>0000031 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Warranty Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesWarrantyActivityDetails</Role>
      <ShortName>Basis of Presentation and Summary of Significant Accounting Policies - Warranty Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>0000032 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Certain Risks and Concentrations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails</Role>
      <ShortName>Basis of Presentation and Summary of Significant Accounting Policies - Certain Risks and Concentrations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>0000033 - Disclosure - Inventories - Schedule of Inventory (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails</Role>
      <ShortName>Inventories - Schedule of Inventory (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>0000034 - Disclosure - Inventories - Reserve Rollforward (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails</Role>
      <ShortName>Inventories - Reserve Rollforward (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>0000035 - Disclosure - Property and Equipment - Schedule of Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails</Role>
      <ShortName>Property and Equipment - Schedule of Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>0000036 - Disclosure - Leases - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/LeasesNarrativeDetails</Role>
      <ShortName>Leases - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>0000037 - Disclosure - Leases - Components of Lease Cost (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails</Role>
      <ShortName>Leases - Components of Lease Cost (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>0000038 - Disclosure - Leases - Schedule of Supplemental Balance Sheet Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails</Role>
      <ShortName>Leases - Schedule of Supplemental Balance Sheet Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>0000039 - Disclosure - Leases - Schedule of Future Maturities of Lease Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails</Role>
      <ShortName>Leases - Schedule of Future Maturities of Lease Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>0000040 - Disclosure - Leases - Schedule of Supplemental Cash Flow Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalCashFlowInformationDetails</Role>
      <ShortName>Leases - Schedule of Supplemental Cash Flow Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>0000041 - Disclosure - Debt - Credit Facilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails</Role>
      <ShortName>Debt - Credit Facilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>0000042 - Disclosure - Debt - Promissory Note Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/DebtPromissoryNoteNarrativeDetails</Role>
      <ShortName>Debt - Promissory Note Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>0000043 - Disclosure - Debt - Promissory Notes (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails</Role>
      <ShortName>Debt - Promissory Notes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>0000044 - Disclosure - Debt - Streeterville Notes (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails</Role>
      <ShortName>Debt - Streeterville Notes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>0000045 - Disclosure - Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/IncomeTaxesDetails</Role>
      <ShortName>Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/IncomeTaxes</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>0000046 - Disclosure - Stockholders' Equity - March 2023 Private Placements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityMarch2023PrivatePlacementsDetails</Role>
      <ShortName>Stockholders' Equity - March 2023 Private Placements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>0000047 - Disclosure - Stockholders' Equity - February 2023 Private Placement (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityFebruary2023PrivatePlacementDetails</Role>
      <ShortName>Stockholders' Equity - February 2023 Private Placement (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>0000048 - Disclosure - Stockholders' Equity - January 2023 Sander Electronics Private Placement (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails</Role>
      <ShortName>Stockholders' Equity - January 2023 Sander Electronics Private Placement (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>0000049 - Disclosure - Stockholders' Equity - January 2023 Transactions with Mei Yun (Gina) Huang (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails</Role>
      <ShortName>Stockholders' Equity - January 2023 Transactions with Mei Yun (Gina) Huang (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>0000050 - Disclosure - Stockholders' Equity - June 2022 Private Placement (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails</Role>
      <ShortName>Stockholders' Equity - June 2022 Private Placement (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>0000051 - Disclosure - Stockholders' Equity - December 2021 Private Placement (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails</Role>
      <ShortName>Stockholders' Equity - December 2021 Private Placement (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>0000052 - Disclosure - Stockholders' Equity - Preferred Stock (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails</Role>
      <ShortName>Stockholders' Equity - Preferred Stock (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>0000053 - Disclosure - Stockholders' Equity - January 2020 Equity Offering (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails</Role>
      <ShortName>Stockholders' Equity - January 2020 Equity Offering (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>0000054 - Disclosure - Stockholders' Equity - Outstanding Warrants from the January 2020 Equity Offering (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails</Role>
      <ShortName>Stockholders' Equity - Outstanding Warrants from the January 2020 Equity Offering (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>0000055 - Disclosure - Stockholders' Equity - Stock-Based Compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails</Role>
      <ShortName>Stockholders' Equity - Stock-Based Compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>0000056 - Disclosure - Stockholders' Equity - Estimates Utilized (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails</Role>
      <ShortName>Stockholders' Equity - Estimates Utilized (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>0000057 - Disclosure - Stockholders' Equity - Stock Options and a Summary of Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails</Role>
      <ShortName>Stockholders' Equity - Stock Options and a Summary of Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>0000058 - Disclosure - Stockholders' Equity - Restricted Stock Units (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails</Role>
      <ShortName>Stockholders' Equity - Restricted Stock Units (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>0000059 - Disclosure - Commitments and Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/CommitmentsandContingenciesDetails</Role>
      <ShortName>Commitments and Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/CommitmentsandContingencies</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="efoi-20230331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>0000060 - Disclosure - Other Income (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/OtherIncomeDetails</Role>
      <ShortName>Other Income (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/OtherIncome</ParentRole>
      <Position>60</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept NotesPayableRelatedPartiesClassifiedCurrent in us-gaap/2022 used in 2 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. efoi-20230331.htm 4</Log>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept LondonInterbankOfferedRateLIBORMember in us-gaap/2022 used in 2 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. efoi-20230331.htm 4</Log>
    <Log type="Warning">[dq-0542-Deprecated-Concept] Concept DueToRelatedPartiesCurrentAndNoncurrent in us-gaap/2022 used in 1 facts was deprecated in us-gaap/2023 as of 2023 and should not be used. efoi-20230331.htm 4</Log>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 3 fact(s) appearing in ix:hidden were eligible for transformation: dei:EntityRegistrantName, efoi:StandardProductWarrantyNumberofYears -  efoi-20230331.htm 4</Log>
    <Log type="Warning">[dqc-0015-Negative-Values] Fact us-gaap:ProceedsFromLinesOfCredit has a value of -1093000 which is less than zero. This element should not have a negative value. The preparer should consider if the value is input correctly for this assertion and, after considering the appropriateness of the input, if incorrect, input the amount as a positive (i.e., absolute) value and provide a negated label. The properties of this us-gaap:ProceedsFromLinesOfCredit fact are: Context: i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331, Unit: usd, Rule Element Id: 2753. efoi-20230331.htm 4</Log>
    <Log type="Warning">[dqc-0015-Negative-Values] Fact us-gaap:StandardProductWarrantyAccrualWarrantiesIssued has a value of -1000 which is less than zero. This element should not have a negative value. The preparer should consider if the value is input correctly for this assertion and, after considering the appropriateness of the input, if incorrect, input the amount as a positive (i.e., absolute) value and provide a negated label. The properties of this us-gaap:StandardProductWarrantyAccrualWarrantiesIssued fact are: Context: i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331, Unit: usd, Rule Element Id: 3447. efoi-20230331.htm 4</Log>
    <Log type="Warning">[dqc-0015-Negative-Values] Fact us-gaap:StandardProductWarrantyAccrualWarrantiesIssued has a value of -1000 which is less than zero. This element should not have a negative value. The preparer should consider if the value is input correctly for this assertion and, after considering the appropriateness of the input, if incorrect, input the amount as a positive (i.e., absolute) value and provide a negated label. The properties of this us-gaap:StandardProductWarrantyAccrualWarrantiesIssued fact are: Context: i98081df676ec427e979799294744af39_D20220101-20220331, Unit: usd, Rule Element Id: 3447. efoi-20230331.htm 4</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-Q" original="efoi-20230331.htm">efoi-20230331.htm</File>
    <File>a20230331exh1010xefoimarch.htm</File>
    <File>a20230331exh109xefoimarch2.htm</File>
    <File>a20230331exhibit31110-q.htm</File>
    <File>a20230331exhibit32110-q.htm</File>
    <File>efoi-20230331.xsd</File>
    <File>efoi-20230331_cal.xml</File>
    <File>efoi-20230331_def.xml</File>
    <File>efoi-20230331_lab.xml</File>
    <File>efoi-20230331_pre.xml</File>
    <File>exh1011streetervile2023-03.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="540">http://fasb.org/us-gaap/2022</BaseTaxonomy>
    <BaseTaxonomy items="30">http://xbrl.sec.gov/dei/2022</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>79
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "efoi-20230331.htm": {
   "axisCustom": 1,
   "axisStandard": 24,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2022": 540,
    "http://xbrl.sec.gov/dei/2022": 30
   },
   "contextCount": 212,
   "dts": {
    "calculationLink": {
     "local": [
      "efoi-20230331_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "efoi-20230331_def.xml"
     ]
    },
    "inline": {
     "local": [
      "efoi-20230331.htm"
     ]
    },
    "labelLink": {
     "local": [
      "efoi-20230331_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "efoi-20230331_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "efoi-20230331.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd",
      "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd",
      "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd",
      "https://xbrl.sec.gov/country/2022/country-2022.xsd",
      "https://xbrl.sec.gov/dei/2022/dei-2022.xsd"
     ]
    }
   },
   "elementCount": 466,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2022": 1,
    "http://www.energyfocusinc.com/20230331": 2,
    "http://xbrl.sec.gov/dei/2022": 6,
    "total": 9
   },
   "keyCustom": 41,
   "keyStandard": 231,
   "memberCustom": 43,
   "memberStandard": 35,
   "nsprefix": "efoi",
   "nsuri": "http://www.energyfocusinc.com/20230331",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "0000001 - Document - Cover Page",
     "menuCat": "Cover",
     "order": "1",
     "role": "http://www.energyfocusinc.com/role/CoverPage",
     "shortName": "Cover Page",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000010 - Disclosure - Property and Equipment",
     "menuCat": "Notes",
     "order": "10",
     "role": "http://www.energyfocusinc.com/role/PropertyandEquipment",
     "shortName": "Property and Equipment",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeFinanceLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000011 - Disclosure - Leases",
     "menuCat": "Notes",
     "order": "11",
     "role": "http://www.energyfocusinc.com/role/Leases",
     "shortName": "Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeFinanceLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000012 - Disclosure - Debt",
     "menuCat": "Notes",
     "order": "12",
     "role": "http://www.energyfocusinc.com/role/Debt",
     "shortName": "Debt",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000013 - Disclosure - Income Taxes",
     "menuCat": "Notes",
     "order": "13",
     "role": "http://www.energyfocusinc.com/role/IncomeTaxes",
     "shortName": "Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000014 - Disclosure - Stockholders' Equity",
     "menuCat": "Notes",
     "order": "14",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquity",
     "shortName": "Stockholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000015 - Disclosure - Commitments and Contingencies",
     "menuCat": "Notes",
     "order": "15",
     "role": "http://www.energyfocusinc.com/role/CommitmentsandContingencies",
     "shortName": "Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000016 - Disclosure - Other Income",
     "menuCat": "Notes",
     "order": "16",
     "role": "http://www.energyfocusinc.com/role/OtherIncome",
     "shortName": "Other Income",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000017 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies)",
     "menuCat": "Policies",
     "order": "17",
     "role": "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies",
     "shortName": "Basis of Presentation and Summary of Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000018 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Tables)",
     "menuCat": "Tables",
     "order": "18",
     "role": "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesTables",
     "shortName": "Basis of Presentation and Summary of Significant Accounting Policies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000019 - Disclosure - Inventories (Tables)",
     "menuCat": "Tables",
     "order": "19",
     "role": "http://www.energyfocusinc.com/role/InventoriesTables",
     "shortName": "Inventories (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000002 - Statement - Condensed Consolidated Balance Sheets",
     "menuCat": "Statements",
     "order": "2",
     "role": "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets",
     "shortName": "Condensed Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000020 - Disclosure - Property and Equipment (Tables)",
     "menuCat": "Tables",
     "order": "20",
     "role": "http://www.energyfocusinc.com/role/PropertyandEquipmentTables",
     "shortName": "Property and Equipment (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000021 - Disclosure - Leases (Tables)",
     "menuCat": "Tables",
     "order": "21",
     "role": "http://www.energyfocusinc.com/role/LeasesTables",
     "shortName": "Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000022 - Disclosure - Debt (Tables)",
     "menuCat": "Tables",
     "order": "22",
     "role": "http://www.energyfocusinc.com/role/DebtTables",
     "shortName": "Debt (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000023 - Disclosure - Stockholders' Equity (Tables)",
     "menuCat": "Tables",
     "order": "23",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityTables",
     "shortName": "Stockholders' Equity (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000024 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Basis of presentation (Details)",
     "menuCat": "Details",
     "order": "24",
     "role": "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesBasisofpresentationDetails",
     "shortName": "Basis of Presentation and Summary of Significant Accounting Policies - Basis of presentation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "INF",
      "lang": "en-US",
      "name": "efoi:CommonStockMinimumBidPrice",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000025 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Disaggregation of Revenue (Details)",
     "menuCat": "Details",
     "order": "25",
     "role": "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails",
     "shortName": "Basis of Presentation and Summary of Significant Accounting Policies - Disaggregation of Revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ibe30b06375714179a1b95677450c759e_D20230101-20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:TradeAndOtherAccountsReceivablePolicy",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "efoi:ContractWithCustomerPaymentTerms",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000026 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Accounts Receivable and Geographic information (Details)",
     "menuCat": "Details",
     "order": "26",
     "role": "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails",
     "shortName": "Basis of Presentation and Summary of Significant Accounting Policies - Accounts Receivable and Geographic information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:TradeAndOtherAccountsReceivablePolicy",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "efoi:ContractWithCustomerPaymentTerms",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000027 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Net Accounts Receivable (Details)",
     "menuCat": "Details",
     "order": "27",
     "role": "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetAccountsReceivableDetails",
     "shortName": "Basis of Presentation and Summary of Significant Accounting Policies - Net Accounts Receivable (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000028 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Loss per Share (Details)",
     "menuCat": "Details",
     "order": "28",
     "role": "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedLossperShareDetails",
     "shortName": "Basis of Presentation and Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Loss per Share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "id264de05f365449d9f7a9f3df99e34f3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000029 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Net Loss per Share (Details)",
     "menuCat": "Details",
     "order": "29",
     "role": "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails",
     "shortName": "Basis of Presentation and Summary of Significant Accounting Policies - Net Loss per Share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "id264de05f365449d9f7a9f3df99e34f3_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000003 - Statement - Condensed Consolidated Balance Sheets (Parentheticals)",
     "menuCat": "Statements",
     "order": "3",
     "role": "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals",
     "shortName": "Condensed Consolidated Balance Sheets (Parentheticals)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PreferredStockParOrStatedValuePerShare",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "INF",
      "lang": "en-US",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:StandardProductWarrantyPolicy",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "iabb8d8bbb108485e83e87af3006c33cc_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "efoi:StandardProductWarrantyNumberofYears",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000030 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Product Warranties (Details)",
     "menuCat": "Details",
     "order": "30",
     "role": "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails",
     "shortName": "Basis of Presentation and Summary of Significant Accounting Policies - Product Warranties (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:StandardProductWarrantyPolicy",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "iabb8d8bbb108485e83e87af3006c33cc_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "efoi:StandardProductWarrantyNumberofYears",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i057c62fbb4734a08944a41767816a2cd_I20221231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StandardProductWarrantyAccrualCurrent",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000031 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Warranty Activity (Details)",
     "menuCat": "Details",
     "order": "31",
     "role": "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesWarrantyActivityDetails",
     "shortName": "Basis of Presentation and Summary of Significant Accounting Policies - Warranty Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i9d29fd435d4542aa8f23d9515714b4a6_I20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:StandardProductWarrantyAccrualCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "iaf48b7ed34e94c57a617794e4f353860_D20230101-20230331",
      "decimals": "2",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000032 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies - Certain Risks and Concentrations (Details)",
     "menuCat": "Details",
     "order": "32",
     "role": "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails",
     "shortName": "Basis of Presentation and Summary of Significant Accounting Policies - Certain Risks and Concentrations (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "iaf48b7ed34e94c57a617794e4f353860_D20230101-20230331",
      "decimals": "2",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000033 - Disclosure - Inventories - Schedule of Inventory (Details)",
     "menuCat": "Details",
     "order": "33",
     "role": "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails",
     "shortName": "Inventories - Schedule of Inventory (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i057c62fbb4734a08944a41767816a2cd_I20221231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "efoi:InventoryValuationReservesRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000034 - Disclosure - Inventories - Reserve Rollforward (Details)",
     "menuCat": "Details",
     "order": "34",
     "role": "http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails",
     "shortName": "Inventories - Reserve Rollforward (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i057c62fbb4734a08944a41767816a2cd_I20221231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "efoi:InventoryValuationReservesRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000035 - Disclosure - Property and Equipment - Schedule of Property and Equipment (Details)",
     "menuCat": "Details",
     "order": "35",
     "role": "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails",
     "shortName": "Property and Equipment - Schedule of Property and Equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "4",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseDiscountRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000036 - Disclosure - Leases - Narrative (Details)",
     "menuCat": "Details",
     "order": "36",
     "role": "http://www.energyfocusinc.com/role/LeasesNarrativeDetails",
     "shortName": "Leases - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "4",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseDiscountRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubleaseIncome",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000037 - Disclosure - Leases - Components of Lease Cost (Details)",
     "menuCat": "Details",
     "order": "37",
     "role": "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails",
     "shortName": "Leases - Components of Lease Cost (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubleaseIncome",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000038 - Disclosure - Leases - Schedule of Supplemental Balance Sheet Information (Details)",
     "menuCat": "Details",
     "order": "38",
     "role": "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails",
     "shortName": "Leases - Schedule of Supplemental Balance Sheet Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "efoi:LeaseSupplementalBalanceSheetInformationTableTextBlock",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "efoi:FinanceLeaseRightOfUseAssetGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000039 - Disclosure - Leases - Schedule of Future Maturities of Lease Liabilities (Details)",
     "menuCat": "Details",
     "order": "39",
     "role": "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails",
     "shortName": "Leases - Schedule of Future Maturities of Lease Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000004 - Statement - Condensed Consolidated Statements of Operations",
     "menuCat": "Statements",
     "order": "4",
     "role": "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations",
     "shortName": "Condensed Consolidated Statements of Operations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "efoi:SupplementalCashFlowInformationRelatedToLeasesTableTextBlock",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000040 - Disclosure - Leases - Schedule of Supplemental Cash Flow Information (Details)",
     "menuCat": "Details",
     "order": "40",
     "role": "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalCashFlowInformationDetails",
     "shortName": "Leases - Schedule of Supplemental Cash Flow Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "efoi:SupplementalCashFlowInformationRelatedToLeasesTableTextBlock",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i7d59226ea92a47fe94617330f9077152_I20200811",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "efoi:DebtInstrumentNumberOfCreditFacilities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "creditfacility",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000041 - Disclosure - Debt - Credit Facilities (Details)",
     "menuCat": "Details",
     "order": "41",
     "role": "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails",
     "shortName": "Debt - Credit Facilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i7d59226ea92a47fe94617330f9077152_I20200811",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "efoi:DebtInstrumentNumberOfCreditFacilities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "creditfacility",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i7bc73bc5fdb643f5b43333fa3eecd534_I20221231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DueToRelatedPartiesCurrentAndNoncurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000042 - Disclosure - Debt - Promissory Note Narrative (Details)",
     "menuCat": "Details",
     "order": "42",
     "role": "http://www.energyfocusinc.com/role/DebtPromissoryNoteNarrativeDetails",
     "shortName": "Debt - Promissory Note Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i7bc73bc5fdb643f5b43333fa3eecd534_I20221231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DueToRelatedPartiesCurrentAndNoncurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i46cc008f0e0d4256807d2a588788ec76_I20221231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtInstrumentFaceAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000043 - Disclosure - Debt - Promissory Notes (Details)",
     "menuCat": "Details",
     "order": "43",
     "role": "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails",
     "shortName": "Debt - Promissory Notes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i46cc008f0e0d4256807d2a588788ec76_I20221231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtInstrumentFaceAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i258c463f8d6b45d3b99ab179cf1800e5_I20220421",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtInstrumentFaceAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000044 - Disclosure - Debt - Streeterville Notes (Details)",
     "menuCat": "Details",
     "order": "44",
     "role": "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails",
     "shortName": "Debt - Streeterville Notes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i258c463f8d6b45d3b99ab179cf1800e5_I20220421",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtInstrumentFaceAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i057c62fbb4734a08944a41767816a2cd_I20221231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLossCarryforwards",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000045 - Disclosure - Income Taxes (Details)",
     "menuCat": "Details",
     "order": "45",
     "role": "http://www.energyfocusinc.com/role/IncomeTaxesDetails",
     "shortName": "Income Taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i057c62fbb4734a08944a41767816a2cd_I20221231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLossCarryforwards",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib5c22671d2d54df7960676b0e3169188_D20230330-20230330",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000046 - Disclosure - Stockholders' Equity - March 2023 Private Placements (Details)",
     "menuCat": "Details",
     "order": "46",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityMarch2023PrivatePlacementsDetails",
     "shortName": "Stockholders' Equity - March 2023 Private Placements (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib5c22671d2d54df7960676b0e3169188_D20230330-20230330",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "id9865a7bc8704943b0939a50784649a2_D20230224-20230224",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000047 - Disclosure - Stockholders' Equity - February 2023 Private Placement (Details)",
     "menuCat": "Details",
     "order": "47",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityFebruary2023PrivatePlacementDetails",
     "shortName": "Stockholders' Equity - February 2023 Private Placement (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "id9865a7bc8704943b0939a50784649a2_D20230224-20230224",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i6bf9ed1c24de4a6693287e8c35e9a8d4_D20230117-20230117",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000048 - Disclosure - Stockholders' Equity - January 2023 Sander Electronics Private Placement (Details)",
     "menuCat": "Details",
     "order": "48",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails",
     "shortName": "Stockholders' Equity - January 2023 Sander Electronics Private Placement (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i6bf9ed1c24de4a6693287e8c35e9a8d4_D20230117-20230117",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i22dac5734a23420daa88677f1e86cffb_D20230117-20230117",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000049 - Disclosure - Stockholders' Equity - January 2023 Transactions with Mei Yun (Gina) Huang (Details)",
     "menuCat": "Details",
     "order": "49",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails",
     "shortName": "Stockholders' Equity - January 2023 Transactions with Mei Yun (Gina) Huang (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i22dac5734a23420daa88677f1e86cffb_D20230117-20230117",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i4eba2aa2e4a24070b5b0760556ca79ff_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharesOutstanding",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000005 - Statement - Condensed Consolidated Statements of Changes in Stockholders' Equity",
     "menuCat": "Statements",
     "order": "5",
     "role": "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity",
     "shortName": "Condensed Consolidated Statements of Changes in Stockholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i556b1c8cb1cd47a1b87164f45d21cda2_D20220101-20220331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i0bf245a9398c45ab9aba5d709a637fba_D20220601-20220630",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000050 - Disclosure - Stockholders' Equity - June 2022 Private Placement (Details)",
     "menuCat": "Details",
     "order": "50",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails",
     "shortName": "Stockholders' Equity - June 2022 Private Placement (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i0bf245a9398c45ab9aba5d709a637fba_D20220601-20220630",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i69885f7bf8744a93a44bc87c138ac3b1_D20211201-20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000051 - Disclosure - Stockholders' Equity - December 2021 Private Placement (Details)",
     "menuCat": "Details",
     "order": "51",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
     "shortName": "Stockholders' Equity - December 2021 Private Placement (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i69885f7bf8744a93a44bc87c138ac3b1_D20211201-20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PreferredStockSharesAuthorized",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000052 - Disclosure - Stockholders' Equity - Preferred Stock (Details)",
     "menuCat": "Details",
     "order": "52",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails",
     "shortName": "Stockholders' Equity - Preferred Stock (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ic491b39a305d42b5af19a65aec7b34b1_I20200115",
      "decimals": "INF",
      "lang": "en-US",
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "if71e51af4c6343f8a9dbdd3e76dc5c64_D20200101-20200131",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000053 - Disclosure - Stockholders' Equity - January 2020 Equity Offering (Details)",
     "menuCat": "Details",
     "order": "53",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
     "shortName": "Stockholders' Equity - January 2020 Equity Offering (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "if71e51af4c6343f8a9dbdd3e76dc5c64_D20200101-20200131",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i3c1bc63ce1f040569c6d64a5cf208f9b_D20230101-20230331",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "efoi:ClassOfWarrantOrRightWarrantsIssued",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000054 - Disclosure - Stockholders' Equity - Outstanding Warrants from the January 2020 Equity Offering (Details)",
     "menuCat": "Details",
     "order": "54",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails",
     "shortName": "Stockholders' Equity - Outstanding Warrants from the January 2020 Equity Offering (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i2dac718f7ea8418e8d1ad13aceffb769_D20230101-20230331",
      "decimals": "INF",
      "lang": "en-US",
      "name": "efoi:ClassOfWarrantOrRightWarrantsIssued",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000055 - Disclosure - Stockholders' Equity - Stock-Based Compensation (Details)",
     "menuCat": "Details",
     "order": "55",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails",
     "shortName": "Stockholders' Equity - Stock-Based Compensation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i0e343c763aa94fb19884a9e71c1b3fde_D20220101-20220331",
      "decimals": "2",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000056 - Disclosure - Stockholders' Equity - Estimates Utilized (Details)",
     "menuCat": "Details",
     "order": "56",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails",
     "shortName": "Stockholders' Equity - Estimates Utilized (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i0e343c763aa94fb19884a9e71c1b3fde_D20220101-20220331",
      "decimals": "2",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i057c62fbb4734a08944a41767816a2cd_I20221231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000057 - Disclosure - Stockholders' Equity - Stock Options and a Summary of Activity (Details)",
     "menuCat": "Details",
     "order": "57",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails",
     "shortName": "Stockholders' Equity - Stock Options and a Summary of Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i057c62fbb4734a08944a41767816a2cd_I20221231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000058 - Disclosure - Stockholders' Equity - Restricted Stock Units (Details)",
     "menuCat": "Details",
     "order": "58",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails",
     "shortName": "Stockholders' Equity - Restricted Stock Units (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i1bc9012ae9db4b018ac9f12ca21fe222_I20221231",
      "decimals": "INF",
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PurchaseObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000059 - Disclosure - Commitments and Contingencies (Details)",
     "menuCat": "Details",
     "order": "59",
     "role": "http://www.energyfocusinc.com/role/CommitmentsandContingenciesDetails",
     "shortName": "Commitments and Contingencies (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "ib6f5ffb2a58b4b2b9d421767ff068e85_I20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PurchaseObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "0000006 - Statement - Condensed Consolidated Statements of Cash Flows",
     "menuCat": "Statements",
     "order": "6",
     "role": "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows",
     "shortName": "Condensed Consolidated Statements of Cash Flows",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": "-3",
      "lang": "en-US",
      "name": "efoi:GainLossFromEmployeeRetentionTaxCredit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "if52337259ca94ff6adbd8c395875af1f_D20210701-20210930",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000060 - Disclosure - Other Income (Details)",
     "menuCat": "Details",
     "order": "60",
     "role": "http://www.energyfocusinc.com/role/OtherIncomeDetails",
     "shortName": "Other Income (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "if52337259ca94ff6adbd8c395875af1f_D20210701-20210930",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000007 - Disclosure - Nature of Operations",
     "menuCat": "Notes",
     "order": "7",
     "role": "http://www.energyfocusinc.com/role/NatureofOperations",
     "shortName": "Nature of Operations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000008 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies",
     "menuCat": "Notes",
     "order": "8",
     "role": "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies",
     "shortName": "Basis of Presentation and Summary of Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "0000009 - Disclosure - Inventories",
     "menuCat": "Notes",
     "order": "9",
     "role": "http://www.energyfocusinc.com/role/Inventories",
     "shortName": "Inventories",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20230331.htm",
      "contextRef": "i73fb6125b85a47229e5c23d17fc81d9d_D20230101-20230331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 80,
   "tag": {
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag",
        "terseLabel": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code",
        "terseLabel": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]",
        "terseLabel": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date",
        "terseLabel": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus",
        "terseLabel": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus",
        "terseLabel": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r504"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report",
        "terseLabel": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report",
        "terseLabel": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type",
        "terseLabel": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One",
        "terseLabel": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity Address, Address Line Two",
        "terseLabel": "Entity Address, Address Line Two"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code",
        "terseLabel": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province",
        "terseLabel": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r502"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key",
        "terseLabel": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding",
        "terseLabel": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status",
        "terseLabel": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r502"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number",
        "terseLabel": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r502"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category",
        "terseLabel": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code",
        "terseLabel": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r506"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current",
        "terseLabel": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r502"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name",
        "terseLabel": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r502"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company",
        "terseLabel": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r502"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business",
        "terseLabel": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r502"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number",
        "terseLabel": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number",
        "terseLabel": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r501"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security",
        "terseLabel": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r503"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name",
        "terseLabel": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol",
        "terseLabel": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "efoi_A2021StreetervilleNoteMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "2021 Streeterville Note",
        "label": "2021 Streeterville Note [Member]",
        "terseLabel": "2021 Streeterville Note"
       }
      }
     },
     "localname": "A2021StreetervilleNoteMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_A2022PromissoryNoteMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "2022 Promissory Note [Member]",
        "label": "2022 Promissory Note [Member]",
        "terseLabel": "2022 Promissory Note"
       }
      }
     },
     "localname": "A2022PromissoryNoteMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNoteNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_A2022StreetervilleNoteMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "2022 Streeterville Note",
        "label": "2022 Streeterville Note [Member]",
        "terseLabel": "2022 Streeterville Note"
       }
      }
     },
     "localname": "A2022StreetervilleNoteMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_ClassOfWarrantOrRightWarrantsIssued": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Class Of Warrant Or Right, Warrants Issued",
        "label": "Class Of Warrant Or Right, Warrants Issued",
        "terseLabel": "Warrants issued (in shares)"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightWarrantsIssued",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Class Of Warrant Or Right, Warrants Issued, Price Per Share",
        "label": "Class Of Warrant Or Right, Warrants Issued, Price Per Share",
        "terseLabel": "Purchase price (USD per share)"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightWarrantsIssuedPricePerShare",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "efoi_CommercialBuildingSystemsProviderMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commercial Building Systems Provider",
        "label": "Commercial Building Systems Provider [Member]",
        "terseLabel": "Commercial Building Systems Provider"
       }
      }
     },
     "localname": "CommercialBuildingSystemsProviderMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_CommercialProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commercial Products",
        "label": "Commercial Products [Member]",
        "terseLabel": "Commercial"
       }
      }
     },
     "localname": "CommercialProductsMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails",
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_CommonStockClosingBidPriceThreshold": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common Stock, Closing Bid Price Threshold",
        "label": "Common Stock, Closing Bid Price Threshold",
        "terseLabel": "Common stock, closing bid price (USD per share)"
       }
      }
     },
     "localname": "CommonStockClosingBidPriceThreshold",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesBasisofpresentationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "efoi_CommonStockMinimumBidPrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common Stock, Minimum Bid Price",
        "label": "Common Stock, Minimum Bid Price",
        "terseLabel": "Common stock, minimum bid price (USD per share)"
       }
      }
     },
     "localname": "CommonStockMinimumBidPrice",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesBasisofpresentationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "efoi_CommonStockTradePricePerShare": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common stock, Trade Price Per Share",
        "label": "Common stock, Trade Price Per Share",
        "terseLabel": "Common stock, trade price (USD per share)"
       }
      }
     },
     "localname": "CommonStockTradePricePerShare",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesBasisofpresentationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "efoi_ContractWithCustomerPaymentTerms": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract With Customer, Payment Terms",
        "label": "Contract With Customer, Payment Terms",
        "terseLabel": "Contract with customer, payment terms"
       }
      }
     },
     "localname": "ContractWithCustomerPaymentTerms",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "efoi_DateEnteredFiveMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date Entered Five",
        "label": "Date Entered Five [Member]",
        "terseLabel": "December 6, 2022"
       }
      }
     },
     "localname": "DateEnteredFiveMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_DateEnteredFourMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date Entered Four",
        "label": "Date Entered Four [Member]",
        "terseLabel": "November 9, 2022"
       }
      }
     },
     "localname": "DateEnteredFourMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_DateEnteredOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date Entered One",
        "label": "Date Entered One [Member]",
        "terseLabel": "September 16 2022"
       }
      }
     },
     "localname": "DateEnteredOneMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_DateEnteredSevenMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date Entered Seven",
        "label": "Date Entered Seven [Member]",
        "terseLabel": "December 31, 2022"
       }
      }
     },
     "localname": "DateEnteredSevenMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_DateEnteredSixMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date Entered Six",
        "label": "Date Entered Six [Member]",
        "terseLabel": "December 21, 2022"
       }
      }
     },
     "localname": "DateEnteredSixMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_DateEnteredThreeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date Entered Three",
        "label": "Date Entered Three [Member]",
        "terseLabel": "November 4, 2022"
       }
      }
     },
     "localname": "DateEnteredThreeMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_DateEnteredTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date Entered Two",
        "label": "Date Entered Two [Member]",
        "terseLabel": "October 25, 2022"
       }
      }
     },
     "localname": "DateEnteredTwoMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_DebtInstrumentEnteredPeriodAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument Entered Period",
        "label": "Debt Instrument Entered Period [Axis]",
        "terseLabel": "Debt Instrument Entered Period [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentEnteredPeriodAxis",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "efoi_DebtInstrumentEnteredPeriodDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument Entered Period",
        "label": "Debt Instrument Entered Period [Domain]",
        "terseLabel": "Debt Instrument Entered Period [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentEnteredPeriodDomain",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_DebtInstrumentNumberOfCreditFacilities": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument, Number Of Credit Facilities",
        "label": "Debt Instrument, Number Of Credit Facilities",
        "terseLabel": "Number of debt financing facilities"
       }
      }
     },
     "localname": "DebtInstrumentNumberOfCreditFacilities",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument, Percentage Increase If Delisted From Security Exchange",
        "label": "Debt Instrument, Percentage Increase If Delisted From Security Exchange",
        "terseLabel": "Percentage increase if delisted from Nasdaq"
       }
      }
     },
     "localname": "DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument, Right To Defer Mandatory Redemption, Number Of Deferrals",
        "label": "Debt Instrument, Right To Defer Mandatory Redemption, Number Of Deferrals",
        "terseLabel": "Right to defer mandatory redemption, number of deferrals"
       }
      }
     },
     "localname": "DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument Subject To Mandatory Redemption, Maximum Amount",
        "label": "Debt Instrument Subject To Mandatory Redemption, Maximum Amount",
        "terseLabel": "Maximum redemption amount"
       }
      }
     },
     "localname": "DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_DebtInstrumentTrancheAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument, Tranche Amount",
        "label": "Debt Instrument, Tranche Amount",
        "terseLabel": "Debt instrument, tranche amount"
       }
      }
     },
     "localname": "DebtInstrumentTrancheAmount",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_December2021PrivatePlacementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "December 2021 Private Placement",
        "label": "December 2021 Private Placement [Member]",
        "terseLabel": "December 2021 Private Placement"
       }
      }
     },
     "localname": "December2021PrivatePlacementMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Tax Assets, Operating Loss Carryforwards, Portion Available After Application Of IRC Section 382 Limitations",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards, Portion Available After Application Of IRC Section 382 Limitations",
        "terseLabel": "Deferred tax assets, operating loss carryforwards, portion available after application of IRC Section 382 limitations"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_DistributorToTheU.S.NavyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Distributor To The U.S. Navy [Member]",
        "label": "Distributor To The U.S. Navy [Member]",
        "terseLabel": "Distributor to the U.S. Navy"
       }
      }
     },
     "localname": "DistributorToTheU.S.NavyMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_DistributorToTheUSDepartmentOfDefenseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Distributor To The U.S. Department Of Defense",
        "label": "Distributor To The U.S. Department Of Defense [Member]",
        "terseLabel": "Distributor to the U.S. Department of Defense"
       }
      }
     },
     "localname": "DistributorToTheUSDepartmentOfDefenseMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Distributor To The U.S. Navy Combined With Sales To Shipbuilders",
        "label": "Distributor To The U.S. Navy Combined With Sales To Shipbuilders [Member]",
        "terseLabel": "Distributor to the U.S. Navy Combined with Sales to Shipbuilders"
       }
      }
     },
     "localname": "DistributorToTheUSNavyCombinedWithSalesToShipbuildersMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_EarningsPerShareBasicAndDilutedEPSAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Earnings Per Share, Basic and Diluted EPS",
        "label": "Earnings Per Share, Basic and Diluted EPS [Abstract]",
        "terseLabel": "Net loss per common share - basic and diluted",
        "verboseLabel": "Denominator:"
       }
      }
     },
     "localname": "EarningsPerShareBasicAndDilutedEPSAbstract",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedLossperShareDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "efoi_EstimatedProceedsFromIssuanceOfWarrants": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Estimated Proceeds From Issuance Of Warrants",
        "label": "Estimated Proceeds From Issuance Of Warrants",
        "terseLabel": "Estimated proceeds from issuance of warrants"
       }
      }
     },
     "localname": "EstimatedProceedsFromIssuanceOfWarrants",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_February2023PrivatePlacementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "February 2023 Private Placement",
        "label": "February 2023 Private Placement [Member]",
        "terseLabel": "February 2023 Private Placement"
       }
      }
     },
     "localname": "February2023PrivatePlacementMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityFebruary2023PrivatePlacementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance Lease, Assets And Liabilities, Lessee",
        "label": "Finance Lease, Assets And Liabilities, Lessee [Abstract]",
        "terseLabel": "Finance Leases"
       }
      }
     },
     "localname": "FinanceLeaseAssetsAndLiabilitiesLesseeAbstract",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseRightOfUseAsset",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance Lease, Right-Of-Use Asset, Accumulated Depreciation",
        "label": "Finance Lease, Right-Of-Use Asset, Accumulated Depreciation",
        "negatedTerseLabel": "Allowances for depreciation"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetAccumulatedDepreciation",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_FinanceLeaseRightOfUseAssetGross": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseRightOfUseAsset",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance Lease, Right-Of-Use Asset, Gross",
        "label": "Finance Lease, Right-Of-Use Asset, Gross",
        "terseLabel": "Property and equipment"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetGross",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_GHuangDirectorMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "G. Huang Director",
        "label": "G. Huang Director [Member]",
        "terseLabel": "G. Huang"
       }
      }
     },
     "localname": "GHuangDirectorMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_GainLossFromEmployeeRetentionTaxCredit": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "(Gain) Loss From Employee Retention Tax Credit",
        "label": "(Gain) Loss From Employee Retention Tax Credit",
        "negatedTerseLabel": "Other income"
       }
      }
     },
     "localname": "GainLossFromEmployeeRetentionTaxCredit",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_IncreaseDecreaseInProvisionForWarranties": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (Decrease) In Provision For Warranties",
        "label": "Increase (Decrease) In Provision For Warranties",
        "terseLabel": "Provision for warranties"
       }
      }
     },
     "localname": "IncreaseDecreaseInProvisionForWarranties",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_InstitutionalInvestorMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Institutional Investor",
        "label": "Institutional Investor [Member]",
        "terseLabel": "Institutional Investor"
       }
      }
     },
     "localname": "InstitutionalInvestorMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_InventoryFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inventory Facility",
        "label": "Inventory Facility [Member]",
        "terseLabel": "Inventory Facility"
       }
      }
     },
     "localname": "InventoryFacilityMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_InventoryReserveRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inventory, Reserve",
        "label": "Inventory, Reserve [Roll Forward]",
        "terseLabel": "Inventory, Reserve [Roll Forward]"
       }
      }
     },
     "localname": "InventoryReserveRollForward",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "efoi_InventoryValuationReservesProvisionAccrual": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inventory Valuation Reserves, Provision (Accrual)",
        "label": "Inventory Valuation Reserves, Provision (Accrual)",
        "terseLabel": "Accrual"
       }
      }
     },
     "localname": "InventoryValuationReservesProvisionAccrual",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_InventoryValuationReservesRawMaterials": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inventory Valuation Reserves, Raw Materials",
        "label": "Inventory Valuation Reserves, Raw Materials",
        "negatedPeriodEndLabel": "Reserves for excess, obsolete, and slow-moving inventories",
        "negatedPeriodStartLabel": "Beginning balance"
       }
      }
     },
     "localname": "InventoryValuationReservesRawMaterials",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_InventoryValuationReservesSalesOfInventory": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inventory Valuation Reserves, Sales Of Inventory",
        "label": "Inventory Valuation Reserves, Sales Of Inventory",
        "terseLabel": "Reduction due to sold inventory"
       }
      }
     },
     "localname": "InventoryValuationReservesSalesOfInventory",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_JHuangDirectorMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "J. Huang Director",
        "label": "J. Huang Director [Member]",
        "terseLabel": "J. Huang"
       }
      }
     },
     "localname": "JHuangDirectorMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_January2020EquityOfferingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "January 2020 Equity Offering",
        "label": "January 2020 Equity Offering [Member]",
        "terseLabel": "January 2020 Equity Offering"
       }
      }
     },
     "localname": "January2020EquityOfferingMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_January2020EquityOfferingPrivatePlacementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "January 2020 Equity Offering, Private Placement",
        "label": "January 2020 Equity Offering, Private Placement [Member]",
        "terseLabel": "Jan. 2020 Placement Agent Warrants"
       }
      }
     },
     "localname": "January2020EquityOfferingPrivatePlacementMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_January2020InstitutionalInvestorMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "January 2020 Institutional Investor",
        "label": "January 2020 Institutional Investor [Member]",
        "terseLabel": "Jan. 2020 Investor Warrants"
       }
      }
     },
     "localname": "January2020InstitutionalInvestorMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_January2020WarrantsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "January 2020 Warrants",
        "label": "January 2020 Warrants [Member]",
        "terseLabel": "January 2020 Warrants"
       }
      }
     },
     "localname": "January2020WarrantsMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_January2023SanderElectronicsPrivatePlacementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "January 2023 Sander Electronics Private Placement",
        "label": "January 2023 Sander Electronics Private Placement [Member]",
        "terseLabel": "January 2023 Sander Electronics Private Placement"
       }
      }
     },
     "localname": "January2023SanderElectronicsPrivatePlacementMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_January2023TransactionsWithMeiYunGinaHuangMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "January 2023 Transactions with Mei Yun (Gina) Huang",
        "label": "January 2023 Transactions with Mei Yun (Gina) Huang [Member]",
        "terseLabel": "January 2023 Transactions with Mei Yun (Gina) Huang"
       }
      }
     },
     "localname": "January2023TransactionsWithMeiYunGinaHuangMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_June2022PrivatePlacementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "June 2022 Private Placement",
        "label": "June 2022 Private Placement [Member]",
        "terseLabel": "June 2022 Private Placement"
       }
      }
     },
     "localname": "June2022PrivatePlacementMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease, Supplemental Balance Sheet Information [Table Text Block]",
        "label": "Lease, Supplemental Balance Sheet Information [Table Text Block]",
        "terseLabel": "Schedule of Supplemental Balance Sheet Information"
       }
      }
     },
     "localname": "LeaseSupplementalBalanceSheetInformationTableTextBlock",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "efoi_LesseeOperatingLeaseInterestRateEffectiveRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Operating Lease, Interest Rate, Effective Rate",
        "label": "Lessee, Operating Lease, Interest Rate, Effective Rate",
        "terseLabel": "Operating lease, borrowing rate"
       }
      }
     },
     "localname": "LesseeOperatingLeaseInterestRateEffectiveRate",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line of Credit Facility, Borrowing Capacity, Inventory Costs, Percent",
        "label": "Line of Credit Facility, Borrowing Capacity, Inventory Costs, Percent",
        "terseLabel": "Inventory costs"
       }
      }
     },
     "localname": "LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line of Credit Facility, Borrowing Capacity, Inventory Value, Percent",
        "label": "Line of Credit Facility, Borrowing Capacity, Inventory Value, Percent",
        "terseLabel": "Inventory, net orderly liquidation value"
       }
      }
     },
     "localname": "LineOfCreditFacilityBorrowingCapacityInventoryValuePercent",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line of Credit Facility, Borrowing Capacity, Value Of Accounts Receivable, Percent",
        "label": "Line of Credit Facility, Borrowing Capacity, Value Of Accounts Receivable, Percent",
        "terseLabel": "Percent of accounts receivable used as borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_MMMLEDProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "MMM LED Products",
        "label": "MMM LED Products [Member]",
        "terseLabel": "MMM LED Products"
       }
      }
     },
     "localname": "MMMLEDProductsMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_MMMProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "MMM Products",
        "label": "MMM Products [Member]",
        "terseLabel": "MMM products"
       }
      }
     },
     "localname": "MMMProductsMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_March2023PartitionedNoteMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "March 2023 Partitioned Note",
        "label": "March 2023 Partitioned Note [Member]",
        "terseLabel": "March 2023 Partitioned Note"
       }
      }
     },
     "localname": "March2023PartitionedNoteMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_March2023PrivatePlacementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "March 2023 Private Placement",
        "label": "March 2023 Private Placement [Member]",
        "terseLabel": "March 2023 Private Placement"
       }
      }
     },
     "localname": "March2023PrivatePlacementMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityMarch2023PrivatePlacementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Net proceeds from the conversion of convertible debt to preferred stock",
        "label": "Net proceeds from the conversion of convertible debt to preferred stock",
        "terseLabel": "Net proceeds from the conversion of convertible debt to preferred stock"
       }
      }
     },
     "localname": "NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Note Payable, Percentage Increase Due to Deferral of Redemption Option",
        "label": "Note Payable, Percentage Increase Due to Deferral of Redemption Option",
        "terseLabel": "Percentage increase due to deferral of redemption option"
       }
      }
     },
     "localname": "NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_NumberOfConsecutiveDaysForBidPriceBelowThreshold": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number Of Consecutive Days For Bid Price, Below Threshold",
        "label": "Number Of Consecutive Days For Bid Price, Below Threshold",
        "terseLabel": "Number of consecutive days for bid"
       }
      }
     },
     "localname": "NumberOfConsecutiveDaysForBidPriceBelowThreshold",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesBasisofpresentationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "efoi_OffshoreSupplierMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Offshore Supplier",
        "label": "Offshore Supplier [Member]",
        "terseLabel": "Offshore Supplier"
       }
      }
     },
     "localname": "OffshoreSupplierMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Operating Lease, Assets And Liabilities, Lessee",
        "label": "Operating Lease, Assets And Liabilities, Lessee [Abstract]",
        "terseLabel": "Operating Leases"
       }
      }
     },
     "localname": "OperatingLeaseAssetsAndLiabilitiesLesseeAbstract",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "efoi_OperatingLeaseCostNetOfSubleaseIncome": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Operating Lease, Cost, Net Of Sublease Income",
        "label": "Operating Lease, Cost, Net Of Sublease Income",
        "totalLabel": "Operating lease cost, net"
       }
      }
     },
     "localname": "OperatingLeaseCostNetOfSubleaseIncome",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_PaymentsForClearingFees": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payments For Clearing Fees",
        "label": "Payments For Clearing Fees",
        "terseLabel": "Amount paid for clearing fees"
       }
      }
     },
     "localname": "PaymentsForClearingFees",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_PaymentsForPlacementAgentCommissions": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payments For Placement Agent Commissions",
        "label": "Payments For Placement Agent Commissions",
        "terseLabel": "Amount paid for placement agent commissions"
       }
      }
     },
     "localname": "PaymentsForPlacementAgentCommissions",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payments Related To Expenses For Registered Direct Offering And Concurrent Private Placement",
        "label": "Payments Related To Expenses For Registered Direct Offering And Concurrent Private Placement",
        "terseLabel": "Amount paid related to expenses for registered direct offering and concurrent private placement"
       }
      }
     },
     "localname": "PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payroll Tax Credit, Employee Retention Credit Under The CARES Act",
        "label": "Payroll Tax Credit, Employee Retention Credit Under The CARES Act",
        "terseLabel": "ERTC refund"
       }
      }
     },
     "localname": "PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/OtherIncomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payroll Tax Credit, Employee Retention Credit Under The CARES Act, Current",
        "label": "Payroll Tax Credit, Employee Retention Credit Under The CARES Act, Current",
        "terseLabel": "ERTC expected receivable"
       }
      }
     },
     "localname": "PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/OtherIncomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_PercentageOfSeriesAPreferredStockEligibleToVote": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage Of Series A Preferred Stock Eligible To Vote",
        "label": "Percentage Of Series A Preferred Stock Eligible To Vote",
        "terseLabel": "Votes equal to the number of shares of common stock convertible"
       }
      }
     },
     "localname": "PercentageOfSeriesAPreferredStockEligibleToVote",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_PreFundedWarrantsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Pre-Funded Warrants",
        "label": "Pre-Funded Warrants [Member]",
        "terseLabel": "Pre-Funded Warrants"
       }
      }
     },
     "localname": "PreFundedWarrantsMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_ProceedsFromIssuanceOfCommonStockAndWarrants": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Proceeds from Issuance of Common Stock and Warrants",
        "label": "Proceeds from Issuance of Common Stock and Warrants",
        "terseLabel": "Proceeds from the issuance of common stock and warrants"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfCommonStockAndWarrants",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs",
        "label": "Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs",
        "terseLabel": "Proceeds from sale of common stock and warrants"
       }
      }
     },
     "localname": "ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_ReceivableForClaimedEmployeeRetentionTaxCreditCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Receivable For Claimed Employee Retention Tax Credit, Current",
        "label": "Receivable For Claimed Employee Retention Tax Credit, Current",
        "terseLabel": "Receivable for claimed ERTC"
       }
      }
     },
     "localname": "ReceivableForClaimedEmployeeRetentionTaxCreditCurrent",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_ReceivablesFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Receivables Facility",
        "label": "Receivables Facility [Member]",
        "terseLabel": "Receivables Facility"
       }
      }
     },
     "localname": "ReceivablesFacilityMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_RepaymentOfRemainingLongTermDebt": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Repayment Of Remaining Long Term Debt",
        "label": "Repayment Of Remaining Long Term Debt",
        "terseLabel": "Remaining outstanding obligations amount"
       }
      }
     },
     "localname": "RepaymentOfRemainingLongTermDebt",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_SecondAmendmentToInventoryFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Second Amendment To Inventory Facility",
        "label": "Second Amendment To Inventory Facility [Member]",
        "terseLabel": "Second Amendment To Inventory Facility"
       }
      }
     },
     "localname": "SecondAmendmentToInventoryFacilityMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_ShipbuilderForUSNavyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shipbuilder For U.S. Navy",
        "label": "Shipbuilder For U.S. Navy [Member]",
        "terseLabel": "Shipbuilder for U.S. Navy"
       }
      }
     },
     "localname": "ShipbuilderForUSNavyMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_StandardProductWarrantyNumberofYears": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Standard Product Warranty, Number of Years",
        "label": "Standard Product Warranty, Number of Years",
        "terseLabel": "Standard product warranty, number of years"
       }
      }
     },
     "localname": "StandardProductWarrantyNumberofYears",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "efoi_StreetervilleNotePurchaseAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Streeterville Note Purchase Agreement",
        "label": "Streeterville Note Purchase Agreement [Member]",
        "terseLabel": "Streeterville Note Purchase Agreement"
       }
      }
     },
     "localname": "StreetervilleNotePurchaseAgreementMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Supplemental Cash Flow Information Related to Leases",
        "label": "Supplemental Cash Flow Information Related to Leases [Table Text Block]",
        "terseLabel": "Supplemental Cash Flow Information Related to Leases"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationRelatedToLeasesTableTextBlock",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "efoi_TLinDirectorsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "T. Lin Directors",
        "label": "T. Lin Directors [Member]",
        "terseLabel": "T. Lin"
       }
      }
     },
     "localname": "TLinDirectorsMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_ToolingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tooling [Member]",
        "terseLabel": "Tooling"
       }
      }
     },
     "localname": "ToolingMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_TopMilitaryCustomersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Top Military Customers",
        "label": "Top Military Customers [Member]",
        "terseLabel": "Top Military Customers"
       }
      }
     },
     "localname": "TopMilitaryCustomersMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_TotalExpendituresMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total Expenditures",
        "label": "Total Expenditures [Member]",
        "terseLabel": "Total Expenditures"
       }
      }
     },
     "localname": "TotalExpendituresMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_TwentyTwentyTwoPromissoryNoteMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Twenty Twenty Two Promissory Note",
        "label": "Twenty Twenty Two Promissory Note [Member]",
        "terseLabel": "Twenty Twenty Two Promissory Note"
       }
      }
     },
     "localname": "TwentyTwentyTwoPromissoryNoteMember",
     "nsuri": "http://www.energyfocusinc.com/20230331",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember": {
     "auth_ref": [
      "r510",
      "r529",
      "r531",
      "r538",
      "r553",
      "r554",
      "r555",
      "r557",
      "r558",
      "r560",
      "r561",
      "r562",
      "r569"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative Effect, Period of Adoption, Adjusted Balance [Member]",
        "terseLabel": "Cumulative Effect, Period of Adoption, Adjusted Balance"
       }
      }
     },
     "localname": "CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CumulativeEffectPeriodOfAdoptionAdjustmentMember": {
     "auth_ref": [
      "r151",
      "r187",
      "r193",
      "r198",
      "r246",
      "r354",
      "r355",
      "r356",
      "r360",
      "r361",
      "r377",
      "r380",
      "r382",
      "r383",
      "r421"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative Effect, Period of Adoption, Adjustment [Member]",
        "terseLabel": "Cumulative Effect, Period of Adoption, Adjustment"
       }
      }
     },
     "localname": "CumulativeEffectPeriodOfAdoptionAdjustmentMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CumulativeEffectPeriodOfAdoptionAxis": {
     "auth_ref": [
      "r151",
      "r187",
      "r193",
      "r198",
      "r246",
      "r354",
      "r355",
      "r356",
      "r360",
      "r361",
      "r377",
      "r380",
      "r382",
      "r383",
      "r421"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative Effect, Period of Adoption [Axis]",
        "terseLabel": "Cumulative Effect, Period of Adoption [Axis]"
       }
      }
     },
     "localname": "CumulativeEffectPeriodOfAdoptionAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_CumulativeEffectPeriodOfAdoptionDomain": {
     "auth_ref": [
      "r151",
      "r187",
      "r193",
      "r198",
      "r246",
      "r354",
      "r355",
      "r356",
      "r360",
      "r361",
      "r377",
      "r380",
      "r382",
      "r383",
      "r421"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative Effect, Period of Adoption [Domain]",
        "terseLabel": "Cumulative Effect, Period of Adoption [Domain]"
       }
      }
     },
     "localname": "CumulativeEffectPeriodOfAdoptionDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_DirectorMember": {
     "auth_ref": [
      "r536"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Director [Member]",
        "terseLabel": "Director"
       }
      }
     },
     "localname": "DirectorMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNoteNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r233",
      "r493",
      "r551",
      "r581"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]",
        "terseLabel": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r259",
      "r260",
      "r261",
      "r262",
      "r321",
      "r427",
      "r445",
      "r474",
      "r475",
      "r490",
      "r494",
      "r500",
      "r549",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails",
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r259",
      "r260",
      "r261",
      "r262",
      "r321",
      "r427",
      "r445",
      "r474",
      "r475",
      "r490",
      "r494",
      "r500",
      "r549",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails",
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r233",
      "r493",
      "r551",
      "r581"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]",
        "terseLabel": "Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r230",
      "r428",
      "r491",
      "r498",
      "r544",
      "r545",
      "r551",
      "r580"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]",
        "terseLabel": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails",
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r230",
      "r428",
      "r491",
      "r498",
      "r544",
      "r545",
      "r551",
      "r580"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]",
        "terseLabel": "Product and Service [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails",
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r259",
      "r260",
      "r261",
      "r262",
      "r319",
      "r321",
      "r348",
      "r349",
      "r350",
      "r426",
      "r427",
      "r445",
      "r474",
      "r475",
      "r490",
      "r494",
      "r500",
      "r543",
      "r549",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails",
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r259",
      "r260",
      "r261",
      "r262",
      "r319",
      "r321",
      "r348",
      "r349",
      "r350",
      "r426",
      "r427",
      "r445",
      "r474",
      "r475",
      "r490",
      "r494",
      "r500",
      "r543",
      "r549",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Statistical Measurement [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails",
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioForecastMember": {
     "auth_ref": [
      "r322",
      "r532"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forecast [Member]",
        "terseLabel": "Scenario, Forecast"
       }
      }
     },
     "localname": "ScenarioForecastMember",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CommitmentsandContingenciesDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioUnspecifiedDomain": {
     "auth_ref": [
      "r198",
      "r322",
      "r508",
      "r532"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Domain]",
        "terseLabel": "Scenario [Domain]"
       }
      }
     },
     "localname": "ScenarioUnspecifiedDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CommitmentsandContingenciesDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r231",
      "r232",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r492",
      "r499",
      "r551"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]",
        "terseLabel": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r231",
      "r232",
      "r459",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r492",
      "r499",
      "r551"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "terseLabel": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_StatementScenarioAxis": {
     "auth_ref": [
      "r198",
      "r322",
      "r508",
      "r509",
      "r532"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Axis]",
        "terseLabel": "Scenario [Axis]"
       }
      }
     },
     "localname": "StatementScenarioAxis",
     "nsuri": "http://fasb.org/srt/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CommitmentsandContingenciesDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]",
        "terseLabel": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingStandardsUpdateExtensibleList": {
     "auth_ref": [
      "r149",
      "r150",
      "r151",
      "r152",
      "r153",
      "r188",
      "r189",
      "r190",
      "r240",
      "r241",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r248",
      "r354",
      "r355",
      "r356",
      "r360",
      "r361",
      "r367",
      "r368",
      "r369",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r385",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r401",
      "r402",
      "r405",
      "r406",
      "r407",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r530"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates amendment to accounting standards.",
        "label": "Accounting Standards Update [Extensible Enumeration]",
        "terseLabel": "Accounting Standards Update [Extensible List]"
       }
      }
     },
     "localname": "AccountingStandardsUpdateExtensibleList",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "xbrltype": "enumerationSetItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r17",
      "r497"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsPayableMember": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Obligations incurred and payable to vendors for goods and services received.",
        "label": "Accounts Payable [Member]",
        "terseLabel": "Accounts Payable"
       }
      }
     },
     "localname": "AccountsPayableMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "auth_ref": [
      "r539"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable.",
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "terseLabel": "Schedule of Accounts Receivable, Allowance for Credit Loss"
       }
      }
     },
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "auth_ref": [
      "r163",
      "r234",
      "r235",
      "r479"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetAccountsReceivableDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable, before Allowance for Credit Loss, Current",
        "terseLabel": "Gross Accounts Receivable"
       }
      }
     },
     "localname": "AccountsReceivableGrossCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetAccountsReceivableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold.",
        "label": "Accounts Receivable [Member]",
        "terseLabel": "Accounts Receivable"
       }
      }
     },
     "localname": "AccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r234",
      "r235"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetAccountsReceivableDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "terseLabel": "Trade accounts receivable, less allowances of $58 and $26, respectively",
        "totalLabel": "Net Accounts Receivable"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetAccountsReceivableDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedEmployeeBenefitsCurrent": {
     "auth_ref": [
      "r22"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Employee Benefits, Current",
        "terseLabel": "Accrued payroll and related benefits"
       }
      }
     },
     "localname": "AccruedEmployeeBenefitsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedSalesCommissionCurrent": {
     "auth_ref": [
      "r22",
      "r480"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Sales Commission, Current",
        "terseLabel": "Accrued sales commissions"
       }
      }
     },
     "localname": "AccruedSalesCommissionCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r29",
      "r30",
      "r31",
      "r164",
      "r443",
      "r453",
      "r457"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r28",
      "r31",
      "r111",
      "r423",
      "r448",
      "r449",
      "r517",
      "r518",
      "r519",
      "r526",
      "r527",
      "r528"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "AOCI Attributable to Parent [Member]",
        "terseLabel": "Accumulated Other Comprehensive Loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r8"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r354",
      "r355",
      "r356",
      "r526",
      "r527",
      "r528",
      "r561"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt": {
     "auth_ref": [
      "r78"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Adjustment to additional paid in capital resulting from the recognition of convertible debt instruments as two separate components - a debt component and an equity component. This bifurcation may result in a basis difference associated with the liability component that represents a temporary difference for purposes of applying accounting for income taxes. The initial recognition of deferred taxes for the tax effect of that temporary difference is as an adjustment to additional paid in capital.",
        "label": "Adjustments to Additional Paid in Capital, Equity Component of Convertible Debt",
        "terseLabel": "Stock issued in exchange transactions"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r102",
      "r103",
      "r324"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r48"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The sum of adjustments which are added to or deducted from net income or loss, including the portion attributable to noncontrolling interest, to reflect cash provided by or used in operating activities, in accordance with the indirect cash flow method.",
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Total adjustments"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net loss to net cash used in operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r352"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Share-Based Payment Arrangement, Expense",
        "terseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "auth_ref": [
      "r165",
      "r238",
      "r249",
      "r250",
      "r252"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable.",
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "terseLabel": "Accounts receivable, allowance for credit loss"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r165",
      "r238",
      "r249"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetAccountsReceivableDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "negatedLabel": "Less: Allowance for Doubtful Accounts",
        "terseLabel": "Trade accounts receivable, less allowances"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetAccountsReceivableDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfDebtDiscountPremium": {
     "auth_ref": [
      "r37",
      "r47",
      "r118",
      "r296"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense included in interest expense to amortize debt discount and premium associated with the related debt instruments. Excludes amortization of financing costs. Alternate captions include noncash interest expense.",
        "label": "Amortization of Debt Discount (Premium)",
        "terseLabel": "Amortization of loan discounts and origination fees"
       }
      }
     },
     "localname": "AmortizationOfDebtDiscountPremium",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r207"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Securities excluded from net loss per share calculation (in shares)"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r124",
      "r136",
      "r159",
      "r181",
      "r221",
      "r224",
      "r228",
      "r242",
      "r263",
      "r264",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r272",
      "r273",
      "r370",
      "r372",
      "r386",
      "r497",
      "r547",
      "r548",
      "r571"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r155",
      "r167",
      "r181",
      "r242",
      "r263",
      "r264",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r272",
      "r273",
      "r370",
      "r372",
      "r386",
      "r497",
      "r547",
      "r548",
      "r571"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity",
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of presentation"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BridgeLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financing which is expected to be replaced by a medium to long-term loan. The loan \"bridges\" the gap in time when otherwise no financing would be in place.",
        "label": "Bridge Loan [Member]",
        "terseLabel": "Bridge Loan"
       }
      }
     },
     "localname": "BridgeLoanMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r49",
      "r157",
      "r477"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "verboseLabel": "Cash"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r44",
      "r49",
      "r50"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "periodEndLabel": "Cash end of period",
        "periodStartLabel": "Cash beginning of period"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r44",
      "r117"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net increase (decrease) in cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ClassOfStockDomain": {
     "auth_ref": [
      "r160",
      "r161",
      "r162",
      "r181",
      "r201",
      "r202",
      "r204",
      "r206",
      "r209",
      "r210",
      "r242",
      "r263",
      "r266",
      "r267",
      "r268",
      "r272",
      "r273",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r386",
      "r476",
      "r507",
      "r521",
      "r533"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.",
        "label": "Class of Stock [Domain]",
        "terseLabel": "Class of Stock [Domain]"
       }
      }
     },
     "localname": "ClassOfStockDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ClassOfWarrantOrRightAxis": {
     "auth_ref": [
      "r87",
      "r90"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of warrant or right issued.",
        "label": "Class of Warrant or Right [Axis]",
        "terseLabel": "Class of Warrant or Right [Axis]"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ClassOfWarrantOrRightDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the class or type of warrant or right outstanding. Warrants and rights represent derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months.",
        "label": "Class of Warrant or Right [Domain]",
        "terseLabel": "Class of Warrant or Right [Domain]"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1": {
     "auth_ref": [
      "r308"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exercise price per share or per unit of warrants or rights outstanding.",
        "label": "Class of Warrant or Right, Exercise Price of Warrants or Rights",
        "terseLabel": "Exercise price of common stock (USD per share)"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights": {
     "auth_ref": [
      "r308"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of securities into which the class of warrant or right may be converted. For example, but not limited to, 500,000 warrants may be converted into 1,000,000 shares.",
        "label": "Class of Warrant or Right, Number of Securities Called by Warrants or Rights",
        "terseLabel": "Securities called by warrants (in shares)"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]",
        "terseLabel": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r70",
      "r257",
      "r258",
      "r461",
      "r546"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CommitmentsandContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r526",
      "r527",
      "r561"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r7"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value (USD per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r7"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, authorized (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r7"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, issued (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r7",
      "r81"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common stock, outstanding (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r7",
      "r497"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common Stock, Value, Issued",
        "terseLabel": "Common stock, par value $0.0001 per share: Authorized: 50,000,000 shares at March 31, 2023 and December 31, 2022. Issued and outstanding: 19,243,610 at March 31, 2023 and 9,848,438 at December 31, 2022"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r57",
      "r58",
      "r114",
      "r115",
      "r233",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.",
        "label": "Concentration Risk Benchmark [Domain]",
        "terseLabel": "Concentration Risk Benchmark [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails",
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r57",
      "r58",
      "r114",
      "r115",
      "r233",
      "r458",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]",
        "terseLabel": "Concentration Risk Benchmark [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails",
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r57",
      "r58",
      "r114",
      "r115",
      "r233",
      "r460",
      "r582"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]",
        "terseLabel": "Concentration Risk Type [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails",
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r134",
      "r214"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Certain risks and concentrations"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Concentration Risk [Line Items]",
        "terseLabel": "Concentration Risk [Line Items]"
       }
      }
     },
     "localname": "ConcentrationRiskLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails",
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r57",
      "r58",
      "r114",
      "r115",
      "r233"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.",
        "label": "Concentration Risk, Percentage",
        "terseLabel": "Concentration risk (less than for geographic concentration risk)"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails",
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTable": {
     "auth_ref": [
      "r54",
      "r57",
      "r58",
      "r59",
      "r114",
      "r116",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.",
        "label": "Concentration Risk [Table]",
        "terseLabel": "Concentration Risk [Table]"
       }
      }
     },
     "localname": "ConcentrationRiskTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails",
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r57",
      "r58",
      "r114",
      "r115",
      "r233",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.",
        "label": "Concentration Risk Type [Domain]",
        "terseLabel": "Concentration Risk Type [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails",
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConvertibleDebtMember": {
     "auth_ref": [
      "r77",
      "r274",
      "r275",
      "r286",
      "r287",
      "r288",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Borrowing which can be exchanged for a specified number of another security at the option of the issuer or the holder, for example, but not limited to, the entity's common stock.",
        "label": "Convertible Debt [Member]",
        "terseLabel": "Convertible Debt"
       }
      }
     },
     "localname": "ConvertibleDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConvertiblePreferredStockMember": {
     "auth_ref": [
      "r303",
      "r304",
      "r305"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred stock that may be exchanged into common shares or other types of securities at the owner's option.",
        "label": "Convertible Preferred Stock [Member]",
        "terseLabel": "Series A Convertible Preferred Stock"
       }
      }
     },
     "localname": "ConvertiblePreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r35",
      "r428"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of sales"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing cost of sales.",
        "label": "Cost of Sales [Member]",
        "terseLabel": "Cost of sales"
       }
      }
     },
     "localname": "CostOfSalesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]",
        "terseLabel": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]",
        "terseLabel": "Credit Facility [Domain]"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r55",
      "r233"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.",
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "Customer Concentration Risk"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]",
        "terseLabel": "Debt Disclosure [Abstract]"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r80",
      "r180",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r290",
      "r297",
      "r298",
      "r300"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.",
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "Debt"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/Debt"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r3",
      "r4",
      "r5",
      "r125",
      "r126",
      "r135",
      "r183",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r280",
      "r286",
      "r287",
      "r288",
      "r289",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r404",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r522"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]",
        "terseLabel": "Debt Instrument [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "auth_ref": [
      "r5",
      "r126",
      "r135",
      "r301"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.",
        "label": "Long-Term Debt, Gross",
        "terseLabel": "Total liability, net of discount and financing fees"
       }
      }
     },
     "localname": "DebtInstrumentCarryingAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentConvertibleConversionPrice1": {
     "auth_ref": [
      "r79",
      "r276"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The price per share of the conversion feature embedded in the debt instrument.",
        "label": "Debt Instrument, Convertible, Conversion Price",
        "terseLabel": "Conversion rate (USD per share)"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleConversionPrice1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "auth_ref": [
      "r119",
      "r121",
      "r274",
      "r404",
      "r486",
      "r487"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face (par) amount of debt instrument at time of issuance.",
        "label": "Debt Instrument, Face Amount",
        "terseLabel": "Principal amount"
       }
      }
     },
     "localname": "DebtInstrumentFaceAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateDuringPeriod": {
     "auth_ref": [
      "r24",
      "r119",
      "r293"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The average effective interest rate during the reporting period.",
        "label": "Debt Instrument, Interest Rate During Period",
        "terseLabel": "Default interest rate"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateDuringPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails",
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "auth_ref": [
      "r24",
      "r119",
      "r302",
      "r404"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.",
        "label": "Debt Instrument, Interest Rate, Effective Percentage",
        "terseLabel": "Debt instrument, interest rate, effective percentage"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "auth_ref": [
      "r24",
      "r275"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.",
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "terseLabel": "Interest rate"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails",
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "Debt Instrument [Line Items]"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNoteNarrativeDetails",
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r25",
      "r183",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r280",
      "r286",
      "r287",
      "r288",
      "r289",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r404",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r522"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.",
        "label": "Debt Instrument, Name [Domain]",
        "terseLabel": "Debt Instrument, Name [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r25",
      "r82",
      "r83",
      "r84",
      "r85",
      "r118",
      "r119",
      "r121",
      "r133",
      "r183",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r280",
      "r286",
      "r287",
      "r288",
      "r289",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r299",
      "r404",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r522"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Schedule of Long-Term Debt Instruments [Table]",
        "terseLabel": "Schedule of Long-term Debt Instruments [Table]"
       }
      }
     },
     "localname": "DebtInstrumentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNoteNarrativeDetails",
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Debt Instrument, Term",
        "terseLabel": "Term"
       }
      }
     },
     "localname": "DebtInstrumentTerm",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_DebtInstrumentUnamortizedDiscount": {
     "auth_ref": [
      "r118",
      "r121",
      "r550"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt discount.",
        "label": "Debt Instrument, Unamortized Discount",
        "terseLabel": "Issue discount"
       }
      }
     },
     "localname": "DebtInstrumentUnamortizedDiscount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredFinanceCostsGross": {
     "auth_ref": [
      "r120"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "Debt Issuance Costs, Gross",
        "terseLabel": "Unamortized debt issuance costs"
       }
      }
     },
     "localname": "DeferredFinanceCostsGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "auth_ref": [
      "r110",
      "r556"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "terseLabel": "Deferred tax assets, operating loss carry-forwards"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are subject to expiration dates.",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration",
        "terseLabel": "Operating loss, subject to expiration"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepositsAssetsCurrent": {
     "auth_ref": [
      "r515"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment within one year or during the operating cycle, if shorter.",
        "label": "Deposits Assets, Current",
        "terseLabel": "Short-term deposits"
       }
      }
     },
     "localname": "DepositsAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r47",
      "r66"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "Depreciation",
        "terseLabel": "Depreciation"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeFixedInterestRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fixed interest rate related to the interest rate derivative.",
        "label": "Derivative, Fixed Interest Rate",
        "terseLabel": "Derivative, Fixed Interest Rate"
       }
      }
     },
     "localname": "DerivativeFixedInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DomesticCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.",
        "label": "Domestic Tax Authority [Member]",
        "terseLabel": "U.S. Federal, State and Local Tax Authorities"
       }
      }
     },
     "localname": "DomesticCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DueToRelatedPartiesCurrentAndNoncurrent": {
     "auth_ref": [
      "r128",
      "r140",
      "r265",
      "r266",
      "r267",
      "r271",
      "r272",
      "r273",
      "r425",
      "r524"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of obligations due all related parties.",
        "label": "Due to Related Parties",
        "terseLabel": "Due to related parties"
       }
      }
     },
     "localname": "DueToRelatedPartiesCurrentAndNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNoteNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]",
        "verboseLabel": "Numerator:"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedLossperShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r52",
      "r53"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.",
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "terseLabel": "Net loss per share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]",
        "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r353"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "terseLabel": "Unearned stock-based compensation"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r353"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Unearned compensation expected to be recognized, period"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Share-Based Payment Arrangement, Option [Member]",
        "terseLabel": "Stock Option"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Revenue from External Customer [Line Items]",
        "terseLabel": "Revenue from External Customer [Line Items]"
       }
      }
     },
     "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services.",
        "label": "Equipment [Member]",
        "terseLabel": "Equipment"
       }
      }
     },
     "localname": "EquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r81",
      "r151",
      "r170",
      "r171",
      "r172",
      "r184",
      "r185",
      "r186",
      "r189",
      "r195",
      "r197",
      "r208",
      "r246",
      "r309",
      "r354",
      "r355",
      "r356",
      "r360",
      "r361",
      "r382",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r423",
      "r448",
      "r449",
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "auth_ref": [
      "r112",
      "r113"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.",
        "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]",
        "terseLabel": "Financial Instruments"
       }
      }
     },
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FinanceLeasePrincipalPayments": {
     "auth_ref": [
      "r410",
      "r414"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for principal payment on finance lease.",
        "label": "Finance Lease, Principal Payments",
        "negatedLabel": "Principal payments under finance lease obligations",
        "terseLabel": "Financing cash flows from finance leases"
       }
      }
     },
     "localname": "FinanceLeasePrincipalPayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalCashFlowInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAsset": {
     "auth_ref": [
      "r408"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease.",
        "label": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization",
        "totalLabel": "Finance lease assets, net"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeographicConcentrationRiskMember": {
     "auth_ref": [
      "r56",
      "r460"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa).",
        "label": "Geographic Concentration Risk [Member]",
        "terseLabel": "Geographic Concentration Risk"
       }
      }
     },
     "localname": "GeographicConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r34",
      "r181",
      "r221",
      "r223",
      "r227",
      "r229",
      "r242",
      "r263",
      "r264",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r272",
      "r273",
      "r386",
      "r484",
      "r547"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "totalLabel": "Gross profit (loss)"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Impairment Effects on Earnings Per Share [Line Items]",
        "terseLabel": "Impairment Effects on Earnings Per Share [Line Items]"
       }
      }
     },
     "localname": "ImpairmentEffectsOnEarningsPerShareLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ImpairmentEffectsOnEarningsPerShareTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about the effects of asset impairment charge on per share or per unit basis.",
        "label": "Impairment Effects on Earnings Per Share [Table]",
        "terseLabel": "Impairment Effects on Earnings Per Share [Table]"
       }
      }
     },
     "localname": "ImpairmentEffectsOnEarningsPerShareTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerBasicShare": {
     "auth_ref": [
      "r32",
      "r129",
      "r130",
      "r141",
      "r175",
      "r188",
      "r191",
      "r192",
      "r193",
      "r194",
      "r201",
      "r204",
      "r205",
      "r384",
      "r441"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) from continuing operations per each share of common stock or unit outstanding during the reporting period.",
        "label": "Income (Loss) from Continuing Operations, Per Basic Share",
        "terseLabel": "Net loss, basic (USD per share)"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsPerBasicShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare": {
     "auth_ref": [
      "r32",
      "r141",
      "r143",
      "r175",
      "r188",
      "r191",
      "r192",
      "r193",
      "r194",
      "r201",
      "r204",
      "r205",
      "r206",
      "r384",
      "r441",
      "r444"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) derived from continuing operations during the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Income (Loss) from Continuing Operations, Per Diluted Share",
        "terseLabel": "Net loss, diluted (USD per share)"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsPerDilutedShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]",
        "terseLabel": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r255",
      "r256"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]",
        "terseLabel": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r256"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]",
        "terseLabel": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "auth_ref": [
      "r107"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by tax jurisdiction.",
        "label": "Income Tax Authority [Axis]",
        "terseLabel": "Income Tax Authority [Axis]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.",
        "label": "Income Tax Authority [Domain]",
        "terseLabel": "Income Tax Authority [Domain]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]",
        "terseLabel": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r182",
      "r357",
      "r358",
      "r359",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r46"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.",
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r46"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "auth_ref": [
      "r46"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.",
        "label": "Increase (Decrease) in Accrued Liabilities",
        "terseLabel": "Accrued and other liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredRevenue": {
     "auth_ref": [
      "r481"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Deferred Revenue",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredRevenue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDepositOtherAssets": {
     "auth_ref": [
      "r46"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in moneys or securities given as security including, but not limited to, contract, escrow, or earnest money deposits, retainage (if applicable), deposits with clearing organizations and others, collateral, or margin deposits.",
        "label": "Increase (Decrease) in Deposit Assets",
        "negatedTerseLabel": "Short-term deposits"
       }
      }
     },
     "localname": "IncreaseDecreaseInDepositOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r46"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Inventories",
        "negatedTerseLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities (sources / (uses) of cash):"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r46"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedTerseLabel": "Prepaid and other assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]"
       }
      }
     },
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r120",
      "r132",
      "r173",
      "r220",
      "r403"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Interest Expense",
        "terseLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]",
        "terseLabel": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r254"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.",
        "label": "Inventory Disclosure [Text Block]",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/Inventories"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoods": {
     "auth_ref": [
      "r512"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.",
        "label": "Inventory, Finished Goods, Gross",
        "terseLabel": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoods",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r166",
      "r478",
      "r497"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Net",
        "terseLabel": "Inventories, net",
        "totalLabel": "Inventories, net"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryRawMaterials": {
     "auth_ref": [
      "r513"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Raw Materials, Gross",
        "terseLabel": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterials",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryValuationReserves": {
     "auth_ref": [
      "r65",
      "r514"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation reserve for inventory.",
        "label": "Inventory Valuation Reserves",
        "negatedTerseLabel": "Reserves for excess, obsolete, and slow-moving inventories"
       }
      }
     },
     "localname": "InventoryValuationReserves",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWriteDown": {
     "auth_ref": [
      "r253"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.",
        "label": "Inventory Write-down",
        "terseLabel": "Provision for slow-moving and obsolete inventories"
       }
      }
     },
     "localname": "InventoryWriteDown",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r567"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.",
        "label": "Lease, Cost [Table Text Block]",
        "terseLabel": "Components of Lease Cost and Supplemental Cash Flow Information"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r67"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold Improvements [Member]",
        "terseLabel": "Leasehold improvements"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]",
        "terseLabel": "Leases [Abstract]"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeFinanceLeasesTextBlock": {
     "auth_ref": [
      "r417"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for finance leases of lessee. Includes, but is not limited to, description of lessee's finance lease and maturity analysis of finance lease liability.",
        "label": "Lessee, Finance Leases [Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeFinanceLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/Leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseDiscountRate": {
     "auth_ref": [
      "r495"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discount rate used by lessee to determine present value of operating lease payments.",
        "label": "Lessee, Operating Lease, Discount Rate",
        "terseLabel": "Operating lease, discount rate"
       }
      }
     },
     "localname": "LesseeOperatingLeaseDiscountRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r568"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Schedule of Future Maturities of Operating Lease Liabilities"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r416"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "totalLabel": "Total future undiscounted lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive": {
     "auth_ref": [
      "r568"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fifth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Five",
        "terseLabel": "April 2027 to March 2028"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour": {
     "auth_ref": [
      "r568"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fourth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Four",
        "terseLabel": "April 2026 to March 2027"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree": {
     "auth_ref": [
      "r568"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in third rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Three",
        "terseLabel": "April 2025 to March 2026"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo": {
     "auth_ref": [
      "r568"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in second rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Two",
        "terseLabel": "April 2024 to March 2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths": {
     "auth_ref": [
      "r568"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in next rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Next Rolling 12 Months",
        "terseLabel": "April 2023 to March 2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r416"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less imputed interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r417"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.",
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/Leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r21",
      "r181",
      "r242",
      "r263",
      "r264",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r272",
      "r273",
      "r371",
      "r372",
      "r373",
      "r386",
      "r483",
      "r547",
      "r571",
      "r572"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities [Abstract]",
        "terseLabel": "LIABILITIES"
       }
      }
     },
     "localname": "LiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r12",
      "r127",
      "r139",
      "r497",
      "r523",
      "r537",
      "r563"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and stockholders' equity (deficit)"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r23",
      "r156",
      "r181",
      "r242",
      "r263",
      "r264",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r272",
      "r273",
      "r371",
      "r372",
      "r373",
      "r386",
      "r497",
      "r547",
      "r571",
      "r572"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Line of Credit Facility [Line Items]",
        "terseLabel": "Line of Credit Facility [Line Items]"
       }
      }
     },
     "localname": "LineOfCreditFacilityLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r18"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Maximum borrowing capacity on line of credit"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "auth_ref": [
      "r18",
      "r522"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line.",
        "label": "Line of Credit Facility [Table]",
        "terseLabel": "Line of Credit Facility [Table]"
       }
      }
     },
     "localname": "LineOfCreditFacilityTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LinesOfCreditCurrent": {
     "auth_ref": [
      "r3",
      "r125"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.",
        "label": "Line of Credit, Current",
        "terseLabel": "Credit line borrowings, net of loan origination fees"
       }
      }
     },
     "localname": "LinesOfCreditCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LondonInterbankOfferedRateLIBORMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.",
        "label": "London Interbank Offered Rate (LIBOR) [Member]",
        "terseLabel": "London Interbank Offered Rate (LIBOR)"
       }
      }
     },
     "localname": "LondonInterbankOfferedRateLIBORMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LongTermPurchaseCommitmentAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum amount the entity agreed to spend under the long-term purchase commitment.",
        "label": "Long-Term Purchase Commitment, Amount",
        "terseLabel": "Purchase commitment"
       }
      }
     },
     "localname": "LongTermPurchaseCommitmentAmount",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CommitmentsandContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r25"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-Term Debt, Type [Axis]",
        "terseLabel": "Long-term Debt, Type [Axis]"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r25",
      "r76"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Long-Term Debt, Type [Domain]",
        "terseLabel": "Long-term Debt, Type [Domain]"
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward]",
        "terseLabel": "Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]"
       }
      }
     },
     "localname": "MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesWarrantyActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NatureOfOperations": {
     "auth_ref": [
      "r211",
      "r217"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.",
        "label": "Nature of Operations [Text Block]",
        "terseLabel": "Nature of Operations"
       }
      }
     },
     "localname": "NatureOfOperations",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/NatureofOperations"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r178"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "Cash flows from financing activities (sources / (uses) of cash):"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r178"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r44",
      "r45",
      "r48"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "terseLabel": "Cash used in operating activities",
        "totalLabel": "Net cash used in operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesBasisofpresentationDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Cash flows from operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r33",
      "r48",
      "r131",
      "r142",
      "r154",
      "r168",
      "r169",
      "r172",
      "r181",
      "r188",
      "r191",
      "r192",
      "r193",
      "r194",
      "r196",
      "r197",
      "r203",
      "r221",
      "r223",
      "r227",
      "r229",
      "r242",
      "r263",
      "r264",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r272",
      "r273",
      "r384",
      "r386",
      "r484",
      "r547"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent",
        "netLabel": "Net loss",
        "terseLabel": "Net loss",
        "totalLabel": "Net loss",
        "verboseLabel": "Net loss"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesBasisofpresentationDetails",
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedLossperShareDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recent adopted accounting standard"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NonUsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Countries excluding the United States of America (US).",
        "label": "Non-US [Member]",
        "terseLabel": "Countries Outside of the United States"
       }
      }
     },
     "localname": "NonUsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonoperating Income (Expense) [Abstract]",
        "terseLabel": "Other expenses (income):"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NotesPayableCurrent": {
     "auth_ref": [
      "r20"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying values as of the balance sheet date of the portions of long-term notes payable due within one year or the operating cycle if longer.",
        "label": "Notes Payable, Current",
        "terseLabel": "Promissory notes payable, net of discounts and loan origination fees"
       }
      }
     },
     "localname": "NotesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NotesPayableRelatedPartiesClassifiedCurrent": {
     "auth_ref": [
      "r16",
      "r122",
      "r524"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount for notes payable (written promise to pay), due to related parties. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Notes Payable, Related Parties, Current",
        "terseLabel": "Related party promissory notes payable"
       }
      }
     },
     "localname": "NotesPayableRelatedPartiesClassifiedCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.",
        "label": "Operating Expenses",
        "totalLabel": "Total operating expenses"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Expenses [Abstract]",
        "terseLabel": "Operating expenses:"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r221",
      "r223",
      "r227",
      "r229",
      "r484"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "totalLabel": "Loss from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r412",
      "r496"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails": {
       "order": 2.0,
       "parentTag": "efoi_OperatingLeaseCostNetOfSubleaseIncome",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.",
        "label": "Operating Lease, Cost",
        "terseLabel": "Lease cost"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Rolling Maturity [Abstract]",
        "terseLabel": "Operating Leases"
       }
      }
     },
     "localname": "OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r409"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails",
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r409"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r409"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Operating lease liabilities, net of current portion"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r411",
      "r414"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Payments",
        "terseLabel": "Operating cash flows from operating leases"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalCashFlowInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r408"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Operating lease right-of-use assets",
        "verboseLabel": "Operating lease, right-of-use asset"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r415",
      "r496"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Operating lease, weighted average remaining lease term"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OperatingLeasedAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Operating Leased Assets [Line Items]",
        "terseLabel": "Operating Leased Assets [Line Items]"
       }
      }
     },
     "localname": "OperatingLeasedAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLossCarryforwards": {
     "auth_ref": [
      "r108"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Operating Loss Carryforwards",
        "terseLabel": "Operating loss carry-forwards"
       }
      }
     },
     "localname": "OperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLossCarryforwardsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Operating Loss Carryforwards [Line Items]",
        "terseLabel": "Operating Loss Carryforwards [Line Items]"
       }
      }
     },
     "localname": "OperatingLossCarryforwardsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLossCarryforwardsTable": {
     "auth_ref": [
      "r109"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting pertinent information, such as tax authority, amounts, and expiration dates, of net operating loss carryforwards, including an assessment of the likelihood of utilization.",
        "label": "Operating Loss Carryforwards [Table]",
        "terseLabel": "Operating Loss Carryforwards [Table]"
       }
      }
     },
     "localname": "OperatingLossCarryforwardsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r22"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other Accrued Liabilities, Current",
        "terseLabel": "Accrued liabilities"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherIncomeAndExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Income and Expenses [Abstract]"
       }
      }
     },
     "localname": "OtherIncomeAndExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock": {
     "auth_ref": [
      "r89",
      "r105"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for other income or other expense items (both operating and nonoperating). Sources of nonoperating income or nonoperating expense that may be disclosed, include amounts earned from dividends, interest on securities, profits (losses) on securities, net and miscellaneous other income or income deductions.",
        "label": "Other Income and Other Expense Disclosure [Text Block]",
        "terseLabel": "Other Income"
       }
      }
     },
     "localname": "OtherIncomeAndOtherExpenseDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/OtherIncome"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherNonoperatingExpense": {
     "auth_ref": [
      "r38"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Expense",
        "terseLabel": "Other expenses"
       }
      }
     },
     "localname": "OtherNonoperatingExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncome": {
     "auth_ref": [
      "r177"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income",
        "negatedTerseLabel": "Other income"
       }
      }
     },
     "localname": "OtherNonoperatingIncome",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfStockIssuanceCosts": {
     "auth_ref": [
      "r43"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security.",
        "label": "Payments of Stock Issuance Costs",
        "terseLabel": "Offering costs paid on the issuance of common stock and warrants"
       }
      }
     },
     "localname": "PaymentsOfStockIssuanceCosts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r39"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Acquisitions of property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PreferredStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company.",
        "label": "Preferred Stock [Member]",
        "terseLabel": "Preferred Stock"
       }
      }
     },
     "localname": "PreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r6",
      "r303"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "terseLabel": "Preferred stock, par value (USD per share)"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r6"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Preferred stock, authorized (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r6",
      "r303"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "Preferred Stock, Shares Issued",
        "terseLabel": "Preferred stock, issued (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r6"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "Preferred Stock, Shares Outstanding",
        "terseLabel": "Preferred stock, outstanding (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r6",
      "r497"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred Stock, Value, Issued",
        "terseLabel": "Preferred stock, par value $0.0001 per share: Authorized: 5,000,000 shares (3,300,000 designated as Series A Convertible Preferred Stock) at March 31, 2023 and December 31, 2022. Issued and outstanding: 876,447 at March 31, 2023 and December 31, 2022"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r516"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.",
        "label": "Prepaid Expense and Other Assets, Current",
        "terseLabel": "Prepaid and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfDebt": {
     "auth_ref": [
      "r520"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt.",
        "label": "Proceeds from Issuance of Debt",
        "terseLabel": "Purchase price"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfPrivatePlacement": {
     "auth_ref": [
      "r40"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the amount received from entity's raising of capital via private rather than public placement.",
        "label": "Proceeds from Issuance of Private Placement",
        "terseLabel": "Proceeds from issuance of private placement",
        "verboseLabel": "Aggregate gross proceeds amount"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfPrivatePlacement",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityFebruary2023PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityMarch2023PrivatePlacementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt": {
     "auth_ref": [
      "r41"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from a borrowing where a lender is placed in a lien position behind debt having a higher priority of repayment (senior) in liquidation of the entity's assets or underlying collateral.",
        "label": "Proceeds from Issuance of Subordinated Long-Term Debt",
        "terseLabel": "Proceeds from issuance of subordinated convertible promissory notes"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfSubordinatedLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "auth_ref": [
      "r41",
      "r522"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.",
        "label": "Proceeds from Lines of Credit",
        "terseLabel": "Net payments on proceeds from the credit line borrowings - Credit Facilities"
       }
      }
     },
     "localname": "ProceedsFromLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyLiabilityLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Product Warranty Liability [Line Items]",
        "terseLabel": "Product Warranty Liability [Line Items]"
       }
      }
     },
     "localname": "ProductWarrantyLiabilityLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductWarrantyLiabilityTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about product warranty liability, including, but not limited to, reductions in the liability for payments made under the warranty, changes in the liability for accruals related to product warranties issued, and changes in the liability for accruals related to preexisting warranties.",
        "label": "Product Warranty Liability [Table]",
        "terseLabel": "Product Warranty Liability [Table]"
       }
      }
     },
     "localname": "ProductWarrantyLiabilityTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]",
        "terseLabel": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization": {
     "auth_ref": [
      "r541",
      "r565",
      "r566"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation and amortization from plant, property, and equipment and right-of-use asset from finance lease.",
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization",
        "negatedLabel": "Less: accumulated depreciation"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": {
     "auth_ref": [
      "r542",
      "r566"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.",
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization",
        "terseLabel": "Property and equipment, net",
        "totalLabel": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization": {
     "auth_ref": [
      "r511",
      "r540",
      "r564"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.",
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization",
        "totalLabel": "Property and equipment at cost"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r68"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Long-Lived Tangible Asset [Axis]",
        "terseLabel": "Property, Plant and Equipment, Type [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesNarrativeDetails",
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r69",
      "r462",
      "r463",
      "r464"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "terseLabel": "Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipment"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r67",
      "r158"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Gross",
        "terseLabel": "Property and equipment at cost"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Property, Plant and Equipment [Line Items]",
        "terseLabel": "Property, Plant and Equipment [Line Items]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r68"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "terseLabel": "Schedule of Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r67"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Long-Lived Tangible Asset [Domain]",
        "terseLabel": "Property, Plant and Equipment, Type [Domain]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesNarrativeDetails",
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.",
        "label": "Property, Plant and Equipment, Useful Life",
        "terseLabel": "Property and equipment, useful life"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r176",
      "r251"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "terseLabel": "Provision for doubtful accounts receivable"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PurchaseObligation": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.",
        "label": "Purchase Obligation",
        "terseLabel": "Outstanding purchase commitments"
       }
      }
     },
     "localname": "PurchaseObligation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CommitmentsandContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RealEstateMember": {
     "auth_ref": [
      "r552"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Property consisting of land, land improvement and buildings.",
        "label": "Real Estate [Member]",
        "terseLabel": "Real Estate"
       }
      }
     },
     "localname": "RealEstateMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyDomain": {
     "auth_ref": [
      "r320",
      "r424",
      "r425"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party [Domain]",
        "terseLabel": "Related Party [Domain]"
       }
      }
     },
     "localname": "RelatedPartyDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNoteNarrativeDetails",
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionAmountsOfTransaction": {
     "auth_ref": [
      "r123",
      "r424"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transactions with related party during the financial reporting period.",
        "label": "Related Party Transaction, Amounts of Transaction",
        "terseLabel": "Outstanding Amount"
       }
      }
     },
     "localname": "RelatedPartyTransactionAmountsOfTransaction",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RelatedPartyTransactionAxis": {
     "auth_ref": [
      "r148",
      "r424",
      "r425",
      "r570"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of related party transaction.",
        "label": "Related Party Transaction [Axis]",
        "terseLabel": "Related Party Transaction [Axis]"
       }
      }
     },
     "localname": "RelatedPartyTransactionAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNoteNarrativeDetails",
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionDomain": {
     "auth_ref": [
      "r148"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Transaction between related party.",
        "label": "Related Party Transaction [Domain]",
        "terseLabel": "Related Party Transaction [Domain]"
       }
      }
     },
     "localname": "RelatedPartyTransactionDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNoteNarrativeDetails",
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "auth_ref": [
      "r320",
      "r424",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r570"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party [Axis]",
        "terseLabel": "Related Party [Axis]"
       }
      }
     },
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPromissoryNoteNarrativeDetails",
      "http://www.energyfocusinc.com/role/DebtPromissoryNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "auth_ref": [
      "r42"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.",
        "label": "Repayments of Long-Term Debt",
        "terseLabel": "Repayments of long-term debt"
       }
      }
     },
     "localname": "RepaymentsOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfNotesPayable": {
     "auth_ref": [
      "r42"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for a borrowing supported by a written promise to pay an obligation.",
        "label": "Repayments of Notes Payable",
        "negatedLabel": "Repayments of notes payable"
       }
      }
     },
     "localname": "RepaymentsOfNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r106",
      "r144",
      "r579"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and Development Expense",
        "terseLabel": "Product development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.",
        "label": "Research and Development Expense [Member]",
        "terseLabel": "Product development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.",
        "label": "Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Restricted Stock Units"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r9",
      "r86",
      "r138",
      "r452",
      "r457",
      "r497"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Accumulated deficit"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r151",
      "r184",
      "r185",
      "r186",
      "r189",
      "r195",
      "r197",
      "r246",
      "r354",
      "r355",
      "r356",
      "r360",
      "r361",
      "r382",
      "r448",
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "terseLabel": "Accumulated Deficit"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "auth_ref": [
      "r310",
      "r311",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r318",
      "r482"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue from contract with customer.",
        "label": "Revenue from Contract with Customer [Policy Text Block]",
        "terseLabel": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r174",
      "r181",
      "r218",
      "r219",
      "r222",
      "r225",
      "r226",
      "r230",
      "r231",
      "r233",
      "r242",
      "r263",
      "r264",
      "r266",
      "r267",
      "r268",
      "r269",
      "r270",
      "r272",
      "r273",
      "r386",
      "r442",
      "r547"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).",
        "label": "Revenues",
        "terseLabel": "Net sales",
        "verboseLabel": "Total net sales"
       }
      }
     },
     "localname": "Revenues",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving Credit Facility [Member]",
        "terseLabel": "Revolving Credit Facility"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement.",
        "label": "Sale of Stock [Domain]",
        "terseLabel": "Sale of Stock [Domain]"
       }
      }
     },
     "localname": "SaleOfStockNameOfTransactionDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityFebruary2023PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityMarch2023PrivatePlacementsDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.",
        "label": "Sale of Stock, Number of Shares Issued in Transaction",
        "terseLabel": "Sale of common stock (in shares)",
        "verboseLabel": "Stock issued in exchange transactions (in shares)"
       }
      }
     },
     "localname": "SaleOfStockNumberOfSharesIssuedInTransaction",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity",
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityFebruary2023PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityMarch2023PrivatePlacementsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SaleOfStockPricePerShare": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.",
        "label": "Sale of Stock, Price Per Share",
        "terseLabel": "Sale of common stock (USD per share)"
       }
      }
     },
     "localname": "SaleOfStockPricePerShare",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityFebruary2023PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityMarch2023PrivatePlacementsDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r233",
      "r535"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.",
        "label": "Revenue Benchmark [Member]",
        "terseLabel": "Revenue"
       }
      }
     },
     "localname": "SalesRevenueNetMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesAccountsReceivableandGeographicinformationDetails",
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfDebtInstrumentsTextBlock": {
     "auth_ref": [
      "r25",
      "r82",
      "r83",
      "r84",
      "r85",
      "r118",
      "r119",
      "r121",
      "r133",
      "r486",
      "r488",
      "r525"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of long-debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the entity, if longer.",
        "label": "Schedule of Long-Term Debt Instruments [Table Text Block]",
        "terseLabel": "Schedule of Promissory Notes"
       }
      }
     },
     "localname": "ScheduleOfDebtInstrumentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r534"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Reconciliation of Basic and Diluted Income (Loss) Per Share"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "auth_ref": [
      "r99",
      "r101"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]",
        "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "auth_ref": [
      "r99"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.",
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "terseLabel": "Summary of Stock-based Compensation Expense"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": {
     "auth_ref": [
      "r63"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular presentation of the description and amount of revenues from a product or service, or a group of similar products or similar services, reported from external customers during the period, if the information is not provided as part of the reportable operating segment information.",
        "label": "Revenue from External Customers by Products and Services [Table]",
        "terseLabel": "Revenue from External Customers by Products and Services [Table]"
       }
      }
     },
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDisaggregationofRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": {
     "auth_ref": [
      "r63"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.",
        "label": "Revenue from External Customers by Products and Services [Table Text Block]",
        "terseLabel": "Schedule of Breakdown of Product Net Sales"
       }
      }
     },
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r0",
      "r13",
      "r14",
      "r15"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "terseLabel": "Schedule of Inventory"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfOperatingLeasedAssetsTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of long-lived, depreciable assets that are subject to a operating lease agreements and are used in the normal conduct of business to produce goods and services. Examples may include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Schedule of Operating Leased Assets [Table]",
        "terseLabel": "Schedule of Operating Leased Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfOperatingLeasedAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "auth_ref": [
      "r75"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.",
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "terseLabel": "Schedule of Warranty Activity"
       }
      }
     },
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r68"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table]",
        "terseLabel": "Property, Plant and Equipment [Table]"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r323",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityFebruary2023PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityMarch2023PrivatePlacementsDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r91",
      "r95",
      "r96"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.",
        "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]",
        "terseLabel": "Summary of Option Activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "auth_ref": [
      "r98"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.",
        "label": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]",
        "terseLabel": "Schedule of Valuation Assumptions"
       }
      }
     },
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.",
        "label": "Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]",
        "terseLabel": "Summary of Restricted Stock Activity"
       }
      }
     },
     "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock": {
     "auth_ref": [
      "r87",
      "r90"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of warrants or rights issued. Warrants and rights outstanding are derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months. Disclose the title of issue of securities called for by warrants and rights outstanding, the aggregate amount of securities called for by warrants and rights outstanding, the date from which the warrants or rights are exercisable, and the price at which the warrant or right is exercisable.",
        "label": "Schedule of Stockholders' Equity Note, Warrants or Rights [Table Text Block]",
        "terseLabel": "Schedule of Stockholders' Equity Note, Warrants or Rights"
       }
      }
     },
     "localname": "ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember": {
     "auth_ref": [
      "r559"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap that has its variable-rate leg referenced to Secured Overnight Financing Rate (SOFR) with no additional spread over SOFR on variable-rate leg.",
        "label": "Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]",
        "terseLabel": "Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate"
       }
      }
     },
     "localname": "SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r36"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.",
        "label": "Selling, General and Administrative Expense",
        "terseLabel": "Selling, general, and administrative"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.",
        "label": "Selling, General and Administrative Expenses [Member]",
        "terseLabel": "Selling, general, and administrative"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r46"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Additional Disclosures [Abstract]",
        "terseLabel": "Weighted Average Remaining Contractual Life (in years)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Granted (USD per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r337",
      "r338"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Outstanding at end of period (USD per share)",
        "periodStartLabel": "Outstanding at beginning of period (USD per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]",
        "verboseLabel": "Weighted Average Grant Date Fair Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agreed-upon price for the exchange of the underlying asset relating to the share-based payment award.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Exercise Price",
        "terseLabel": "Exercise price (USD per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "auth_ref": [
      "r349"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "terseLabel": "Dividend yield"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "auth_ref": [
      "r348"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate",
        "terseLabel": "Expected volatility"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "auth_ref": [
      "r350"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "terseLabel": "Risk-free interest rate"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityFebruary2023PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityMarch2023PrivatePlacementsDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised": {
     "auth_ref": [
      "r94"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of non-option equity instruments exercised by participants.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Exercised",
        "terseLabel": "Issuance of common stock upon the exercise of warrants (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber": {
     "auth_ref": [
      "r92",
      "r93"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of equity instruments other than options outstanding, including both vested and non-vested instruments.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding, Number",
        "periodEndLabel": "Outstanding at end of period (in shares)",
        "periodStartLabel": "Outstanding at beginning of period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward]",
        "verboseLabel": "Restricted Stock Units"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]",
        "terseLabel": "Weighted Average Remaining Contractual Life (in years)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r331"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number",
        "terseLabel": "Exercisable at period end (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r331"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "terseLabel": "Exercisable at period end (USD per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "auth_ref": [
      "r335"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period",
        "negatedTerseLabel": "Canceled/forfeited (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "auth_ref": [
      "r333"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross number of share options (or share units) granted during the period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross",
        "terseLabel": "Granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r343"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Fair value of options issued (USD per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r329",
      "r330"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Outstanding at end of period (in shares)",
        "periodStartLabel": "Outstanding at beginning of period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]",
        "terseLabel": "Number of Options"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r329",
      "r330"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Outstanding at end of period (USD per share)",
        "periodStartLabel": "Outstanding at beginning of period (USD per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]",
        "terseLabel": "Weighted Average Exercise Price Per Share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": {
     "auth_ref": [
      "r345"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number",
        "terseLabel": "Vested and expected to vest at period end (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r345"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price",
        "terseLabel": "Vested and expected to vest at period end (USD per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Award Type [Domain]",
        "terseLabel": "Award Type [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity",
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r335"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price",
        "terseLabel": "Canceled/forfeited (USD per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r333"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "terseLabel": "Granted (USD per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by supplier.",
        "label": "Supplier [Axis]",
        "terseLabel": "Supplier [Axis]"
       }
      }
     },
     "localname": "ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Specific identification or general nature of (for example, a construction contractor, a consulting firm) the party from whom the goods or services were or are to be received.",
        "label": "Supplier [Domain]",
        "terseLabel": "Supplier [Domain]"
       }
      }
     },
     "localname": "ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "auth_ref": [
      "r347"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term",
        "terseLabel": "Expected life of options (in years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r100"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term",
        "terseLabel": "Exercisable at period end"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r97"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Outstanding at end of period"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r345"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Vested and expected to vest at period end"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsandaSummaryofActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r88",
      "r104"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP).",
        "label": "Shareholders' Equity and Share-Based Payments [Text Block]",
        "terseLabel": "Stockholders' Equity"
       }
      }
     },
     "localname": "ShareholdersEquityAndShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquity"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.",
        "label": "Shares, Outstanding",
        "periodEndLabel": "Ending balance (in shares)",
        "periodStartLabel": "Beginning balance (in shares)"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShortTermBorrowings": {
     "auth_ref": [
      "r2",
      "r125",
      "r137",
      "r497"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.",
        "label": "Short-Term Debt",
        "terseLabel": "Short-term debt"
       }
      }
     },
     "localname": "ShortTermBorrowings",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShortTermDebtTypeAxis": {
     "auth_ref": [
      "r19"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of short-term debt arrangement.",
        "label": "Short-Term Debt, Type [Axis]",
        "terseLabel": "Short-Term Debt, Type [Axis]"
       }
      }
     },
     "localname": "ShortTermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShortTermDebtTypeDomain": {
     "auth_ref": [
      "r17"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of short-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing.",
        "label": "Short-Term Debt, Type [Domain]",
        "terseLabel": "Short-Term Debt, Type [Domain]"
       }
      }
     },
     "localname": "ShortTermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r51",
      "r179"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Significant Accounting Policies [Text Block]",
        "terseLabel": "Basis of Presentation and Summary of Significant Accounting Policies"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid within one year or the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability.",
        "label": "Standard Product Warranty Accrual, Current",
        "periodEndLabel": "Accrued warranty reserve at end of period",
        "periodStartLabel": "Balance at beginning of period",
        "terseLabel": "Accrued warranty reserve"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualCurrent",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesWarrantyActivityDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualPayments": {
     "auth_ref": [
      "r71"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties.",
        "label": "Standard Product Warranty Accrual, Decrease for Payments",
        "negatedLabel": "In kind settlements made during the period"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualPayments",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesWarrantyActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "auth_ref": [
      "r73"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties.",
        "label": "Standard Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties",
        "terseLabel": "Adjustments to existing warranties"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualPreexistingIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesWarrantyActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualWarrantiesIssued": {
     "auth_ref": [
      "r72"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in the standard product warranty accrual from warranties issued. Excludes extended product warranties.",
        "label": "Standard Product Warranty Accrual, Increase for Warranties Issued",
        "terseLabel": "Warranty accruals for current period sales"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualWarrantiesIssued",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesWarrantyActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyPolicy": {
     "auth_ref": [
      "r74"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.",
        "label": "Standard Product Warranty, Policy [Policy Text Block]",
        "terseLabel": "Product warranties"
       }
      }
     },
     "localname": "StandardProductWarrantyPolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StateAndLocalJurisdictionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity.",
        "label": "State and Local Jurisdiction [Member]",
        "terseLabel": "State and Local Jurisdiction"
       }
      }
     },
     "localname": "StateAndLocalJurisdictionMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StatementClassOfStockAxis": {
     "auth_ref": [
      "r160",
      "r161",
      "r162",
      "r181",
      "r201",
      "r202",
      "r204",
      "r206",
      "r209",
      "r210",
      "r242",
      "r263",
      "r266",
      "r267",
      "r268",
      "r272",
      "r273",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r386",
      "r476",
      "r507",
      "r521",
      "r533"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by the different classes of stock of the entity.",
        "label": "Class of Stock [Axis]",
        "terseLabel": "Class of Stock [Axis]"
       }
      }
     },
     "localname": "StatementClassOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r27",
      "r81",
      "r151",
      "r170",
      "r171",
      "r172",
      "r184",
      "r185",
      "r186",
      "r189",
      "r195",
      "r197",
      "r208",
      "r246",
      "r309",
      "r354",
      "r355",
      "r356",
      "r360",
      "r361",
      "r382",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r423",
      "r448",
      "r449",
      "r450"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]",
        "terseLabel": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CommitmentsandContingenciesDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]",
        "terseLabel": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]",
        "terseLabel": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]",
        "terseLabel": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r184",
      "r185",
      "r186",
      "r208",
      "r428"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CommitmentsandContingenciesDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheetsParentheticals",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": {
     "auth_ref": [
      "r26",
      "r81",
      "r82",
      "r86",
      "r291"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities.",
        "label": "Stock Issued During Period, Shares, Conversion of Convertible Securities",
        "terseLabel": "Conversion of notes to preferred stock (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": {
     "auth_ref": [
      "r6",
      "r7",
      "r81",
      "r86"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.",
        "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans",
        "terseLabel": "Issuance of common stock (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "auth_ref": [
      "r6",
      "r7",
      "r81",
      "r86"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of new stock issued during the period.",
        "label": "Stock Issued During Period, Shares, New Issues",
        "terseLabel": "Conversion of notes to stock (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": {
     "auth_ref": [
      "r6",
      "r7",
      "r81",
      "r86"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.",
        "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan",
        "terseLabel": "Issuance of common stock"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r7",
      "r10",
      "r11",
      "r64",
      "r497",
      "r523",
      "r537",
      "r563"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "terseLabel": "Stockholders' equity",
        "totalLabel": "Total stockholders' equity (deficit)"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesBasisofpresentationDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "STOCKHOLDERS' EQUITY (DEFICIT)"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubleaseIncome": {
     "auth_ref": [
      "r413",
      "r496"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails": {
       "order": 1.0,
       "parentTag": "efoi_OperatingLeaseCostNetOfSubleaseIncome",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of sublease income excluding finance and operating lease expense.",
        "label": "Sublease Income",
        "negatedTerseLabel": "Sub-lease income"
       }
      }
     },
     "localname": "SubleaseIncome",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of sale of the entity's stock.",
        "label": "Sale of Stock [Axis]",
        "terseLabel": "Sale of Stock [Axis]"
       }
      }
     },
     "localname": "SubsidiarySaleOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityFebruary2023PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023SanderElectronicsPrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2023TransactionswithMeiYunGinaHuangDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityMarch2023PrivatePlacementsDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SupplierConcentrationRiskMember": {
     "auth_ref": [
      "r55"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that purchases in the period from one or more significant suppliers is to cost of goods or services, as defined by the entity, such as total cost of sales or services, product line cost of sales or services, segment cost of sales or services. Risk is the materially adverse effects of loss of a material supplier or a supplier of critically needed goods or services.",
        "label": "Supplier Concentration Risk [Member]",
        "terseLabel": "Supplier Concentration Risk"
       }
      }
     },
     "localname": "SupplierConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesCertainRisksandConcentrationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "auth_ref": [
      "r145",
      "r146",
      "r147",
      "r236",
      "r237",
      "r239"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for accounts receivable.",
        "label": "Accounts Receivable [Policy Text Block]",
        "terseLabel": "Accounts Receivable"
       }
      }
     },
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_UnamortizedDebtIssuanceExpense": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset.",
        "label": "Unamortized Debt Issuance Expense",
        "terseLabel": "Amortized net issuance costs"
       }
      }
     },
     "localname": "UnamortizedDebtIssuanceExpense",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r60",
      "r61",
      "r62",
      "r212",
      "r213",
      "r215",
      "r216"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of estimates"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]",
        "terseLabel": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]",
        "terseLabel": "Variable Rate [Domain]"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WarrantMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Security that gives the holder the right to purchase shares of stock in accordance with the terms of the instrument, usually upon payment of a specified amount.",
        "label": "Warrant [Member]",
        "terseLabel": "Warrants"
       }
      }
     },
     "localname": "WarrantMember",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesNetLossperShareDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2022PrivatePlacementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r200",
      "r206"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Diluted (in shares)",
        "verboseLabel": "Diluted (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedLossperShareDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r199",
      "r206"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Basic (in shares)",
        "verboseLabel": "Basic (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedLossperShareDetails",
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]",
        "terseLabel": "Weighted average shares of common stock outstanding:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/CondensedConsolidatedStatementsofOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WriteOffOfDeferredDebtIssuanceCost": {
     "auth_ref": [
      "r37"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Write-off of amounts previously capitalized as debt issuance cost in an extinguishment of debt.",
        "label": "Write off of Deferred Debt Issuance Cost",
        "terseLabel": "Write off of remaining issuance costs"
       }
      }
     },
     "localname": "WriteOffOfDeferredDebtIssuanceCost",
     "nsuri": "http://fasb.org/us-gaap/2022",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    }
   },
   "unitCount": 7
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(19)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "https://asc.fasb.org/topic&trid=2228938",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "720",
   "URI": "https://asc.fasb.org/topic&trid=2122503",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "https://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "60",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "https://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13279-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15(3),(4))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(20))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=126941378&loc=d3e61044-112788",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.17)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(11))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5212-111524",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5093-111524",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a)(5))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(7)(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18726-107790",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(c))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21728-107793",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(4)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1278-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "https://asc.fasb.org/topic&trid=2134479",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e4975-111524",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5033-111524",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=126986314&loc=SL124402458-218513",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(4)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4542-108314",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "https://asc.fasb.org/topic&trid=2126998",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-30)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6036836-161870",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130561-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130563-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130563-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130564-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "https://asc.fasb.org/topic&trid=49130388",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(13))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868656-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(3)",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=SL116886442-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4549-113899",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(v)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "https://asc.fasb.org/topic&trid=2144680",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092918&loc=SL128093175-196984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092918&loc=SL128093175-196984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "805",
   "URI": "https://asc.fasb.org/extlink&oid=128092918&loc=SL128093175-196984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.8)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(2)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL126732908-238011",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL120254526-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL120254526-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL121967933-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL122642865-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=126983955&loc=SL122642865-165497",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "832",
   "URI": "https://asc.fasb.org/extlink&oid=128342835&loc=SL128342857-244232",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "832",
   "URI": "https://asc.fasb.org/extlink&oid=128342835&loc=SL128342857-244232",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "https://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128293352&loc=SL126838806-209984",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/subtopic&trid=77888251",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL122150809-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(01)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61929-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61929-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62059-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62059-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62395-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62395-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62479-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62479-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=SL6807758-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=SL6807758-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(1)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61872-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(2)",
   "Topic": "932",
   "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61872-109447",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iii)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iv)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(1)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=126942805&loc=d3e3115-115594",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99779-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99893-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=SL120174063-112916",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r476": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1402",
   "role": "http://www.xbrl.org/2003/role/disclosureRef"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441",
   "role": "http://www.xbrl.org/2003/role/exampleRef"
  },
  "r501": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r502": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r503": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r504": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r505": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r506": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405",
   "role": "http://www.xbrl.org/2003/role/presentationRef"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662",
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "https://asc.fasb.org/topic&trid=2122369",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(18))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(9))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(d))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(k)(1))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21728-107793",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "55",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2626-109256",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Topic": "450",
   "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "https://asc.fasb.org/topic&trid=2127136",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=124256753&loc=SL5864739-113975",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)(1)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918638-209977",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "848",
   "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "https://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195",
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Topic": "330",
   "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "https://asc.fasb.org/topic&trid=2155823",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "https://asc.fasb.org/topic&trid=2144648",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(2))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(3))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(4))",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=SL6230698-112601",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466302&loc=d3e4852-112606",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466103&loc=SL6014347-161799",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "https://asc.fasb.org/extlink&oid=123466204&loc=SL6031898-161870",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "https://asc.fasb.org/topic&trid=2208564",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21506-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21521-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21538-112644",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "50",
   "Topic": "505",
   "URI": "https://asc.fasb.org/extlink&oid=6784392&loc=d3e188667-122775",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "https://asc.fasb.org/topic&trid=2208762",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "610",
   "URI": "https://asc.fasb.org/topic&trid=49130413",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5047-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901",
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef"
  }
 },
 "version": "2.2"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>80
<FILENAME>0000924168-23-000059-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000924168-23-000059-xbrl.zip
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
M*5SOR/V35$Q 7(#3FLQ,)9N7J$#6^**>5=$"JW_!]+I$LI(0A-7W8T-L;J1
M*I-ZZM4BFSB >:#<E]>.K&"<OW;*F4Q]>&T)"KA)^I!54CJ&>N- ->9$CV)S
MDD]T2KAP@-NZ9(+^CXS?P@1M2?9KG;$G#S=(],3SC.T*%5CJ8H(0[#CA<DP4
ME17@*3W-G%LK39>J(AFSJO/B!\))X(W=6VZI8Y[5(!,PS!S^?W-[ZNQ$6V99
M(-:(MMH2I?P&6!4^F7.AVR<51Z)-VI*4I!0;4A]54SVS0EUZ$MIY_HK:')O'
M<JM,BAGR4T+I1TH/XA,PPT@&')IP4_B6NESBKL$T*(5/X'[$ !DDTUE>+FM[
M[]AJ-NG(7-+4]*@Q<[.YX?8$.BPSC,<7EX8FA!);K<,_$CAZ*31E&';ZG$Q!
M!6;U=*QI&E<4>K+F;=&9=(_NIN29MBS_>[T\TV:TB5X"_C#O!LBM3B>VGRT8
MGKQOO,O$R+4IJ$;VJ90V]FV>#H[%6X/%RT>WD I>[]I@IV:D"O]0N?,X%O>%
MD50VYDRA7/AXX1+7"O$I5/U76C &_GKW-B.V23O'SXBQ"]XS;NR:-\FP"5[[
M<D8,#<5O28+AWQM14TD@-=)$YD'*.5YX8++M&[JX0(N^<"7Y((6WA,3J.X42
M5O4_^4,B!5\*%%SU<,^X[T K?M'_OW)R7Q$)^*9W9LC\,'EG;:^P'59H3LV<
M +_+]5YRK)OW9LADR[=>7MPKO>VFB[W2+:;\&N:+.MWC]K"Z7.0O#VK)2^;J
MPUM7^<:ZRK?IIVL=D(=_@?33QAAUVY98>8]_-98.Q9][Z".<Z[47-2[;=;4=
M*QX\ KYOA4@$-F"B!Z!A7,LARYH#ZHD.?>:\T9D/65_)GBA5N9ZV(JY&OZ41
MJB^![*@(P^N&#=$?9&F.&S@1Q)MC@!0#V&WEB'2#OTPT]5-E8S*(DU+4*N<[
MT;U+4V8F1:BZ>Y",E^P*.::;R*CE'HK7GV9(5@9XGN)?$@=K9F[;&*2@/=K#
M^\.&(J^31L-% 0PEDK\K)\[, MZ0=UYD&WF:$>LY83/M' Q9K"H<N:6=GV?
M?)>Y[5#^K(DD]5WY!8F*16JLH+[A7B12N=0>33M:-:"]("[,T-"1-G&$E%,"
MXSIQYI<WDXF.V=[)XLY9E;O=/MNJ+>-<"@GWY?@JV!ZO$7TCWI>!3]T&US?E
M=''O%P6I7O=YTN,C@^BA6P[%G&)/$SH"FN(7HGL%7X>M^)@?.6,'3">X03RW
M(S/'$>AV,NLI>8FLZWEQ!87;PWWLZ[)S@+ X^/.^_/E _GPD?SZ6/Y_(GP=X
M(4+H\.\/=J\\R02N*,-S($R#$&,<Z[A>Z*L&>G!XV$-ZX%5/NKD;,=ZRC=C_
MC)S+6O)<3=V[449>*+LH4&F>T=%;Y>?<:\!Z^?YQ>(D;],)PK7_*\KEIX97/
M+C"HY[FDVBT"2' #9.T0ME-558BR*',AK!LC_'A&!QLLG<9FF.)E8W((;B@A
MJB(I/UGE  ZOA9+SCI^RE;2D7(SU4N;FWJ*!NFY-DW3WZSY&<:0T;L5[$AL+
MYU/PI_$VC&*^<DR,N1#SVMAW3*7OW5Y-P!P%?<B&@*Z0*++L'.2-50)ZRY3
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
M9?@O>,^)D*&97_EOAWZ]QZZ*$6GQ#E:UF_,J\T"KN?4U#/=D3#6%BCEL""-
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
M#OLUC5M55Q=Y053C7!V4$XN_<MTVT5*9)$6)" W3-5B-\\L. ,55 OS\9TY
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
MP4D6[86!"E[H5,U5H0.8YTRFBJ] ;_8;.,ZG,Y4M-F']816S.- *%GTFTER
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
M\.X<ONV=PAW[;\^1X#5X.3A[*V,8$.5K\.[T17_IYKWC$=Z5VP+#\'M@D+V
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
MW)M[88@9R?[+LY-@V#]^-SBA-*:Y..B]&O3[;V'/?]'F\)+Y7Y(9/#S::)S
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
M,>PIDM$2$<*-!+V'5&*,D]QBMF12M>=U>[L7RW4NB"@ECBM"A->*:)8$KYC
M":4H*)0DF)?%IQ&2>,Y:HJ'8V 3_X J,*M_:W+NT'[2-9Y2O[E3 +:Q8.>9M
M-69XQT>7PI5)<!@C0SBBC!BN4?3PI"0N< )0?7H+_*,"L'EC 6[S^Y>L_06,
M_,U!DPKB/]AY:*?[!3[(\JM'/O'GQ.VGF.UF(#X1,B%:4$T0LP(;Z9#&AJN
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
M;8@U3"$FC#$:\>%!A15])Z*&KTGV4RET">=*(:!;C%9PK;E!.-&QT 7ACH_
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
M#3KG55O.//8 ."TK_L>VQ">@ Z+XAT%_ )SEOY3GT_/A!_#D03N6-.O&YL;
M*<!.P$NY+[J"=O15[,'L/,RW:LC\8OBBX4$%,V3WV,0@[1;,V?&Z&P=E8=2.
M@"0;P[K1\-$@!^L-B[-A^_%3K"@M:D/K3GE0_K<XKGKRS>'#!2XE971WO'W/
MW<>+ZU>/80\^9GSP\"'KM8.6!X7S\,O7+'#MB0<!+SI=P^JEL;QN&E*XO;DJ
M9A3;0<#3;]\$V 9L,G#Z2=%N(K++L$]UO#1BL8(9(NEOZ2/?ZZ<=F,>="QJ>
M;]/S^RZ5;';GX^!]^\Z'/>_/[HX$?K&Z=_<6%1_>^3SMQAX8=X<7C'WK0^"_
M.[HZ;;?O3*R5#=KN]J<V?GA7+U_<_#BN=,UKVP+"]8"[8;73O-8%P2GZDL/W
M"C-3^Z+S5(^$K%#[>:%LQZCV".ZHM$!AIX!6\.5*"T2]'[N%@"KI9WET>6I!
MP_(5][R*VMWK/,Y5CY5BAT4KK%P+7*L36(1^V>G\CKHJ;$CUY+')7*N'J'L*
MPMS2-[-L1/W4K@[/; @BU<M^ZC=T<[2QUN=1NX$FZ61Q,:M>(/!15-6#?*1E
M8_7\43VW%V/=7. F+BWM?3L%+ ._@ X $>J5XEEUHWE1B^7U^_XDC8K?ZO,X
M^V(Z\>N#B(!6%!M-I[)IL7// -;M*DK/12L%4;_P%1T>!$!SCH;?7 T5E8YD
M?_%ME?,E:X,J [QW5AKZ0>38O@:!CT;1@/ZN&A1=U0J'VT=37T&%.-[YR& 1
M]-@TMX-.[(50ZAU07!$C5% AZJ_,VD*7%"M?@HSUVD:[WXH:*BZ\T>6SOJTG
MX5GCN*9X4OQR:?H*;0G^;2_K%CKXHN6[, ,7:0T"!.L412WMEJT:(AZH1!=4
MHOZBTW:IN6-CIA?QMK  Q:BK;% ^ZALS&RKJ$U"R8%A]V?ZB@E/ 5,4S8['8
MDOW@9E$#@"H?Z/83%$'Q]3%=4*KPBI$=K$$[.R\G%%?>I2&Z%M'ZQ]XV\)HA
MSSKCTQZN#I"J-S@Y :QPC4>^A6: %?6P6]&]QF4=_)=:C.*5ZBNR36R*]32U
M]_BW+?TC<&MZT5J5C;)^^AVBV<]ZUV@8%NG.$D>:&S]L U9@@_#@%^!!T44#
MMS1.LO+'%E37?+X6NX*=TTY<LMC?*@*4; A@"KA5*U7)/1P/PO8 DWX?+0$>
M&5PCI';:B>5LX(XORJXS#^@U@$/M@NI% '0(__9@=.UM.?$A"BP'? ">J.V
M.PY/K^&-LM5-7MOH=N-[W'7\_G?D>E]%:%8Z$ \4?(ZS*V'!$/2!)VCSU'R#
M*<LO#88 -*3M""BN.7[,KXDC1^Y*[%Z3]GI1JD9^R'IM/^OXRB.*FK>B7+7
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
M;N]=9T OBECT_.C>;8N?0<Y#?4X+#3EED8.;'K^,2+-6&Q^@C;>_&&WVSKO
M]8N-VOS3"7]FP9]LFBE(%1B%*H"X,B. *FV 0M  R)&F&F-KM(SXLZ[(]+IL
MX1W$R7#+Y@K)<.=DN%/$ 1(NXHJ6 "4I!S00"I1SD4)0*S6RVC%DUK;8.A73
M*]Z%=ZPN#'4X..X/1N.J><X7)Q*&CV(/*[%@*8L]U*][>KN(,DDKE4< SN4T
M4_ 0,6\# LAS#ZCE#FBN'6"<8FV8)XSKM2V.JK1223Z%BO*$9*(EF.BT,T$[
MJ:$60.E(#"@*T42]80 SQ:73-F"+(B=03]YJ3<Z$1QO;NX$_TYF[G2[JAZ#(
MY%R8-SVXUL#NN*S5=L^U<C4D)'HL$K7NB#J3RG,9J(WX$^+JQ"@(% H&*!,(
MI!&)N+%K6_B.W;CD5%@:@RV++"2#+=U@IZF#"#B:K #$L@"H]AI(I17@3DJJ
M($/0YP9+%BA*Z^:$8FSL+VS\N217S?OQ?<=PG!PJSW+I76UWO[V3O"#SHCD^
M]+/-[SW_NC_8&??[;O>LT[_T?M\7:0+[O;:^V,GS4*7-W$> :*.]70!H :3M
M;=PX>7_Y*:Z]F \J=X\H!"C##&A' M!4,8&\DIR3JNWF)A])Q6A/,N#G,^#+
M"0/61!LHL8KD1TA @Y- :B> TYQ;$D$9!5@U R[3@X+9.-]2-5C%W8=(V_U1
MGC>U-*_)K\_I+B=.E1;)^>-"+&WZSH5@H%;[%'ZB01KB. 90" BHH1PH[Q4(
M%!+)L*2(H[4ML4X)+6FA]C#K6""?RZJ:>VGAH,G<GX&.7)N["<(RRP'Q'@/*
M.03*> <@9M'BHSZ9"[FY8UJ67V:^YGY-52:2/"):&'-5DC=4Y1[+E0?FOMVP
MZR(J^798GF?\;)P]/479/LM&V+CSWW5T;[3=<[LW_1]?O\YZ^<&WMUX/_7[>
MS%;X,/0%]F_G&42WK3WOYD4LO*O[LT'\EB)K4OSD=K<?>W6<\37- #/- 'O3
MA$]:X1&D&F@N!*#*,J"U8(!!X3UE#!F$U[9X"LY=8GLO;Q\MV7O5['V2\4%&
M(KHS 7A <8%'" $&*P*\DAX2Y!G"*C*^*NV;K^HV7*6)5:LH'5[4,,M->GU<
MI0[T S@?^K'3+&W!S9M@?5/"7;":EL[E >G[:>+DH!,"$@LD<A)0R0U0 7,0
MYTD(K?:,&KJVA=81>G+FJ[095UU3+HL[)5-^/E.>Y$2(4*Z8T("C_.0!,@9(
M)37 3DGK W2.^L*4):R0*2\;+4H-3@U>C:WEN[>4Y[BO5+G5P\QY)A_X\$M#
M*\K=.T_\H3S^<#J]%, &>NRPS7/>"D M1$!#IX!EFEH4')+6K6W)=8[(0NRB
M/5-ZW 1H*P1HY48')$ K%= F%T0N7_8HIH#@)@*:U#(_YVD 0P@KSAQ'EN2
M1E59^T*K%19PZVE)?"37/\^/,#R]N,@+-G&Y@@GN9N]O][;_VGN[U][;?5)E
MF45ZY+NMN=3MU^7OL>7:#_IYY9U.IDW6R?+B]:64WZG6L]]-@YY@)'.(\5K0
M'ENU/ TW64]K9_HR/X:3RANM2'&1LA-<OQN/GQ0P7?;*Z*1QQZXO8=)C@D&
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
M@!_WZ%'W]7$#OX>-D[]/FV^:QX=7QUFCV[C,?8A-W$!';V)/M(]#<^?:!W@
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
M80+2UFE')85*,$9C7TA,K8_=<C_,W9.(,3'+IT-:-@%IB%+!M?" !20!Y5@
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
MB763T&3<A!/],KL/\1W^A^7OO@&"ZP_+C[H<%KD<:H5?[/35] >M*_^!]QT
M('33MUM-(_S=&^$<['V79[Q_JC_RH=XS1LN->^Y!,/%\03"2D( 1$ZU)FFJ;
M\AMC@*<@*8N8GYHDE"(%F,BR32#2FFF!U:@L]*OUP<:7M$1E,6M3QGZ<)2J*
M2<"2@# :<Y)JI0E7A@E*66@4VI1;+)KWYF_"H'Y5[,,:X#5+XBKT:=[OH^\>
MZZK;I?[,XA@>H*']*)$Q-4*P)&3<3S-0S"Q(XB0-8DZE.ME'Q1S01\5G&PWZ
M( W:60"WT.$>TI#$,),$)Y!D.DA('+,PCC) WL*\>!W]M"M^$[VPNDLY4S0S
MBH618O8 /#5@<651$"4!$XS'=BD'C[Z4-TAIB>M\SONN%974-R1*-27,1 "2
M8I:0A(E4Z50F?J00*<7IZB_UWP NW>;>2E<)+MW">:_[ZF:@=,_3F:JF30CO
MK@8CK)!C3VA^XH!SY:#E_SW)T/PVFY.(362,H#Q*!=AT(E.,(LPTQH]3G49V
M<WIL/^!F_WG0_O-A0=2'3F-DR !TB8SHPO=)FH6&P/2RB >93E3RXG7H+_GT
M]Z<6T1.[ S<J=*-"EZ)"61R+*(D#(V7"8A,+L/#\R(1:IT&49H$SU3<J=,54
MZ"R$#_Q0Q&'D$R[CD+ HRPCW-:A0I54D9)IHS@'"_WQ)B955H6L'_%>OP^MR
MY69@-P.[7E=N!G8SL.MUI1W8?]L:PZ^?M#;R+\;/U!6&U1Z7<G !SQ[CF5\?
MZ4D\7L#'?2^'GIX6MA1#,40OU_!,EQIA-72[U#C$?0MY."#=.ND'+B^'\('-
MH/[YBO9W#&SU-@Q]A9>#,D>D][+0/3[,O^E)&6@T%5IW56C.G]S"!;S(:'CS
M+7/]7?J,^?>:L6QZ*-H_L;?6J C"1!NF=!P:RH1,,I7YS%<R%BECJ18G8./4
M-YTU,::7_%0346C^E7 #+_B2]Z[XN'SQ[ZEQN,C[=8<2"CU>G?%:7 !]K[OW
M\=VQ]_;@S:?#+6^_^^8!(OE$7>X>'.T=>D<'WM%_]KPW!]W=O>[AWB[^=GCP
M?G]WYPC^>+O?W>F^V=]Y[QT>P0>=O>[1X<J_F*TW[<RP,-CRIFH@KVJ?__C4
MYR.5@X+[<]'*NT>/;])@]URJ[$7KIJ<32"_8]BIO2W=T >W()82LSN0A\>&H
MT ?FX%(7KK3/TSI)KKN-DT2==8Z.@^.CO[]^>;<?'5]_&,/?K'-^_+U#OYQ#
M&^/.Y[_AV;VS]^''GO[/Q_&7S^I24!9WZ=[W[OE_SSH7'[\>G_?.N[O[\/?I
MN M]_W+1A7OVOQ]?_'U^\/FMZ1Q]"KH[)RS1 4L$(YH:15B<*2*BF"$=G>"*
M^T&*8X>CG_='6NW@:;$Q)A A#QD+!0LBPQ/%_)@;E@4!"T* 0+J4_!+%M!@!
M]NGN''WZN.<=O*W=)-6D-G(*GU9/L%/A)N+NI\ST*@WB4*5*FS!CJ>*92'02
M*<JXB2C%ZI]/LH=Z]4L^Q6(Z^&?OX\[1/BCS1B7,C/7<>K\# UWPXA1VY0K4
M8#>>:%QO$)H[A6"OKXO3L?=V($<E[-%]N>WI_BG D=*[+')X/>@J)@T@^X[2
M&-*Z!?]^T[W!):+,+0]Z/C)<@OH #(M_%E_UT*:?]Y57\IZMS*SM4X@V)I<Y
MW.;UL.MX53DN :^6]FKL?P&6P[;W6=</J5MTS>E>SSN#6[W_C4#;#\>N':(O
M\J%M3>4#I;T_D"F2^J_>[^W:WX)7?TX>V'X0)LZKD1R6]1MB!6E=6"#=>NP%
M<@KQ8HR? 62]T/67]8,ZG4[]H"U[A]"G( +#@:>_7^+?@U$!PV!T8>F* -L/
MJL?U2US[=7M5+PQ</K3O6,!6AN.'X2_;W@&T<I&7I9W>TC;?1]O)-@_S!R*H
M"_MY,;(MY85G&D:D+>Q!CB7@KW)H_130)K;NIL:KIT:.M^I1P<33L7N?LQ%,
MLW>F>0_NM)6U82;ZNH2'G16#$4P(5]^PFI'R8-"]0L/PFMPZ94=V-W&=/QW
MP+J>"VU?U37<M#8U2]C24,NS/BPAZ*&="3=./<UM6;I!81NY&)1#D!=H2=E[
M+R][N72[F'=UIL&@@EW-!O= #[=JV=GROO'>"/[6_6]Y,>BC.&/WP!Z3;M[K
M]RW<3.7P3'A!,,CXQ6#4'UHQ+2\UB@NL5)P]['+S#LTHB#'\#L:O964PO=&@
M@ W!+AZ498*F'K0.T@PVLCP#C:*G!V( +PEO.KZ$N0-AZ/&+2RNQ>;\<YD,[
MP-!Q,<I[RLH7CDM[\:H!?#!I<6IX4!10?/)^?_#-6FY5K^H5UEH2[;5 P#B%
MI38<B5&/%_;%Z]5PU%YW]0H#.2KM/.._[H7P'FRRZ5FU+">K$E]DYOG-DFF_
MAIT):SCW2E@4.*_<O:LZYSC2$SFR"R&OX^6]=[S7RT<77C<?%GE+=;SCW>85
M!$=[^W)P!4\M1_A8[?05'C-4@U\)YN#R<E ,\20,K\'N5\NK7@B3=QN>\:%M
M#FZ ?\%N!QM>Y';,86YQ3O3WO'0#<\;[?=U#DWY^O_HQ;,O\%_?:SEY5']EC
MEE^QO=T"@^GVKP$/=R"7QT7BA[#%YJ"+>7^X(R7J&9" ?P8]U,[E$3SIK]Y
M?GU:=.YW&G1^]K5SWCWKG*O\^ @P]>X'>K#[=][Y?.Q_.=^Y/O[\ 3#Z/CT^
MDL$L.C]X!TB>[HV[].^S[L4QM VH_F+_._3AHK/;/?NR^P7Z_>6L>_U?Y%$:
M=W?E"8NX"G6DB*\-)RP5*<F,4@1 N\ABQM.8BUD@+'R8"!YH+8QB/$M%HJ(D
M%5D2*BET+&;A^9/(]U\[A_N'8!)X_WS<.]SK'EF4ZNUT=U="XI]B1 X_=3H[
M'X]Q3 [WWW7WW^Z_V>D>>3MOWAQ\ZA[M=]]Y_QR\WW^SOS>%Y:>L*:O=%N+B
MNV5B6H:8,6$4^D*'0<RB-. :EG00QBE5,A!)^N*QM<)?O,S+ S.C$<;NYW/6
M"IWKSDDDN11*)22(TI" ":\(;-TI 3O>&)C:4)ED=D9YD)HLXKYFFK,L#L \
MHEFJN1:1'V>1/Z<5%GN;SF'CSLWXJ;0&2H4-@05$B? 5)?P^;KWI;J^+C8LG
M)N5D>[2G)VXU #IS&R0.!D*G-^Y890OP?RX=A ?8B(CX&FG2P+*\VIH >S!!
MH3F+A=MMNJ*L/6CU%&$<0,4Q?J\O\<BELM4^]=$_Z1WBL4O9P,=/VX?;WKN=
MG7\:$(EXL="FI\&VN+1A,6B) 8@M!O <N-FK;$(Q*G-K"\$#7.>OP,"S;CF]
M#8_KN>\48E]=V097>0FP'>_.^RZ)P6HZUT/+>E^W_J9]:O2V.34Z;$Z-/'N
MXVZP5FOC$+S9>;\R @)6P!G_IG$Y@)4&;SB</6.;')3!$/#&@@0K5J,=V1^>
ME1A6#K<N<)C;2;3UZ2Y'13E"$:R&M1CU*IN@T*>C7F5<N5.[&1$YU')4./L
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
M!*S7?O*ZK/6Z5M(L,Q2W]AY&P2"RY4B?[$[YM<%HV)8=_A_W3>G]P_&4>$H
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
MFR7\6$MX#ET8E?D^%C-,8-J1Y8UB?6Q&$F680+8L^ B7<!S]M!6U>E5V5QI
M?'2%=%T(MOXN=8G<I\B"H(>5_[_L#:[(Q<"2GN>M,XL?0AL+AFA-5-5#JH O
M'6[\MZ[I5,_71E\M35^-YR%'1@WL)#0F*M-(6.@GA)LT)IP*%<+6XQL6HM<G
M\N>MH?L7!+^E*/<3^70V2_CQX,9F"3_F$IZ#'*"!991239)(*H <8#!PC'(U
MDD9,<VD4%78)+V"9?9(EO"1WA5N)=)M&*X,\%A\EML(?MC#ZX*$([]8:K#=[
MEWYKU_,RAV:U5?E3@K&N'FYT][)T=_?-//P*DX1GDDE"60#P*TL3DBJJ2!K'
M7(<!A>W81W,Q"],EF8O+6#%/["G:Z,N-OEQ-1]M&7RY77\YA79\9G62)((D(
M,L)"+4@649^$-)&2"AZ#Y+]X'6VQ9%GNM:?4EVM48'$2*YN76%H-_B2P$*XP
MG+<*IRU^W %W0_QMJUC0.H7B)O&]0W$7;)?U.X!HZY6Y\NE#AIG_FX0,+V_6
MLO6,O#V:HSJQ\;>3Z.0?*#'\2\?]<:]<J[E\YD'DSS)F_"\-VVG?58VUQ GW
M$("57'R;N,_G$??Y*P]+M!GDMYR4/+,PT(O]JX/=SC58D5<'1V!5[GZX/KZ
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
M6=:4O-+<28Q$\@9QDS@ 'K.("( ZJT7 -I2 1_G#>]?4$;]EA($79C\U#+P
M#%SE/4DQ[9(,*)>B!A@0 9PGQ9##7O-DE/-E/'&%S:EM_"(P\)B1(RI6U>N,
M'*T4W3@3-GI0331\4UFT7_TLQ>-/T');B5?$%7/1MKM:BMH8+& ,-F<YH2*)
M6L43BCIAQ*.3R#$6D?0A2$QP9 DXH=2/ZP$_@KJ]YF*W-?#6P+N,[+P&WJ<#
MWJLLW' 1-4D2$1H9XBGZ?/S7(RJ(A/]GAK/T&+V!E@9X+Y?(O5K8[?8BE"]4
M\.NB$A3QYW'L#F)Q8@?%_WZ)#EX3#;\XJE_:77Y 6;FO)WN:)6.#-@A@E"/N
MI$(Z4HH<B=92R87TY,W;Z\C-I'9:Z8<MLMR/UO.I7NX%EIOM6>*"TH(@:4Q$
MG'&-+.44D1AT\(Q18=2;MWPVNGEEO7/7FYP+/#SHQU@<P=(>#(K8#3$4TVIC
M9=7?4C+R$JX4_3@XCCZ7Z^Z<7BG-7%?^OE3Y6SU*Y6]15_Y>WF+3S;KR]_*,
M^1>I_%V(U1M/B3]";=Z\NQSC10]IL"Q5>9O3#B#OP69^ISL4_(ZS3=P\^P+^
M2K/=;.W@G1;8R<-F>^?;U[-F*\S8TYUO.WBKM7L(SSYK@*_3_ #^"MTDS4-X
MQN'::8/^?;#;:I F!7MZML\;^WO<.K"="B.5:,J'VB1RLOPIR(AY$-SQJ[6?
M U;2.R>9#)XSK0UFRD3NL*5:B6!FZO@^QZ)N@4,,)K6[7R\K+*L S].YF%#T
M@2"./44F 4TVP)2L\$901ZXN:S+2$46QCSSRX*Q1D7D1A<G-;&&)KR[KQXVU
M[8WMN6U0%BOI?;L\71XH-42I9)0E,%"CB08F3EDTB5@BJ,)OKOF>VU_P2HWS
M)!P)4@?M"4]!V>"DP]$KJU-4]"ZEQE^"?[6 V+[K'<$WGU9'V@:%![_=MKL7
M]YK@:T8)V/&H#SJS @YO/V9V'$O&VTNI[6,!HX=_1\"+^P4L*?(9-CN=LKQT
M;Z)OD^\X:0\/LO_<[I=3/LCDNC?:/\@V5(T?<G+0!G+='A;M0<FG<V'K_+#,
MQR>%KX]@H,-8(O1*,;0_8U4$N]T=C/KYP]7BX@L>6!AM%YY08?KX#!^LN,T/
M_=YIIV&YJO#0/%9;.%BF/!7'(S#TY;7'>;@KX[%EQS_^C'W?'L3\I<7?H\YI
MZ0&L%FMED>[*0:!B9>P7E'Y$[!^5?^R-\HO83B[R#6]S=99@N#]BX6+L@M,1
MVJD-W^$BB$TYN/*K*M)!JZW!G\/**;DXE:O%9C<G2/7ZH7SC<M[7MM\5FL-H
MGKB-0_G$?[:'P'K\'42QPN(7[6OQQ__Y7QH\\'^U>L=@>V".RM_)O_Y<N51N
M?7+VT[IVIST\+>6@'X_@TU$_5@&"\O*RK'LOH5)3<DRUO-*&P]$@/Z9LIVI!
M/JKGV6$E'O!&63JJ-?>E?E1B#%[_(!\:^&$[HS@I\#Z680?,<JQ*$W^U^DO^
M1F\[?IP@5]6=AZEM=WV_/.D*\N=Z_7Y5)+Y?RF$JK@UO=$>YH/25"$>P@9/(
ML,[U0VBVSQC\,Z.<"UH ',[?(N27&K3-,\R;F2>#<GR!46VD5#G4^9=I8 /1
MW\UDMS9Y\V1/62-P( )A1G*Y2)Z0"5ZAI(,242;X+\]MM5;-;,CX'Q?A:W@.
MCUG6B?K7H "0+8'DLE@,<@<!WQF%JL=OM3*Y^R^8S4X!UJ'2A13C8*4H&P?
M)? 7T$IPQ,O3+M7?G.U^+W^LK >,H%\<M0>EL>A&,"M%^?W]\IH_,SRWAUF_
M?O0Z97_AK+<E?H( @R-38=J[?+BPW[-A4%2,O0U?_0& \'BE^/CQ7?$'O&L
M2M)ONQ)&.[V3#-C-'LB[7"G&>K\>W7"B\N7HWL.<]?J#8KLW&AZ<P L7'U<_
MKKY;O<?S;M#A:@Y '<>&9U:G)UQCD*MCN?CD&GV_37]^%[:=^^CT1MWA[Z['
M/NNQE]+'@#5B7E/$;0C(&@N_2NQ45"8SW3=OU2H5LVI<_%&I<?R9M3)6NCQ'
M'2^HV47%NA4%KHA0I88YVES*ZD5MO*J,:V#?0!G.%7$[]G\ 1P3EW^SZU:JT
MPEA%QM>^JVY_/Q[W9:6IC':VK#] DO;CC*ID2E7:O1FB"=SQ)H]R$3F_+-J7
MA?K;>(1KU0"_3,97_K$%HR/+6E#NV07_<(UM?=X#T)#8@[@[2RT8,$F1E5J#
MSRF\3S%HG&AN<S9;'K LZ;8ZXRD^:<P %O%=;S!L96?F-PX6L.;^7DB>8JD\
M4M1'Q#5+N4:U1R000*X /J]B,S&=9?1\,]Z!,YA+O4S,\!7_*Y_,S<3#]_:[
M\.#2P^L"B>\ U0!,ZF=2/VZP-+BNO=+=MK)?4Q,F=O<F3*_B)/I2-(O2XGYW
MWCI8_<S-HAYOU<SK[+G4NF&7>)'62Z_I'-[\)*37HOV+3?[R2=QOWN3LQ7N:
MO<2AD*TY5*6,S_2.;JA'MRSJ=?<K'U;,_PZB_IJ^X#%//JFE$?#Y)F5[Y% E
MVI50OU:97F1M?M'<_E\S.__1DWBW<P)VN>F1Y?UR7F=J_XP!G<5^;VE2.N\9
M?ABGVGO<_+;Y$\8$OW\5C<//I/FMP1NMM=/=UF>VN_ZEO=N"O[<.VE=3[9MG
MG\G.X<9I\\-[N.;[:7/]*]DYV_]9I9.&[\T/?W<:AQL_MS[\G1JGF%RMGV=2
M;D82-4K*)L2YH\AJKY#VP@>MG(F19$:K*:'_6J+BS,]T4JG&HV5ZMT4.\S]Z
MFOE50*J!9Q'@83,5X:6FC@8 GIB[@=KHD#& 0S9R+2AUUD8&WLSL1L_=3]D_
M7RWXA4[X+SO7_#AUH5XKR_S%:YJ\)"V[O,^7=X%J)%P "9OO9BD85R N8):
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
M.N_G%W9>P!!M3(9:PP3X\(<; D3EM'%6^N^B^7D/##^7$I!!N]SRCX/[YK3
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
MA &Y([/;\R!BO=$@XU;^WV71.;;MD&%K@J, 5#X^#)T"UB)Z2;%E%-B&=E@
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
M5][8W_/ LL$/)DBFG/(D.!!P21G"B2B5,.64L;)Z^&UR71Z^.++MRNF[9FO
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
M])G("UFV_"$@"# C?IIK7"AK(C"'5>XG71M*=[JA^=<P+7PRBQNEGBS;\,,
M-N@,G5)=6X$IOR]5(ZI0H5E6>=\5)@J-S^%B;'L^7AGD:XRGZ, ?U'RR1(+P
M9^.%^4BN[PWY4"MU/K.-EY$."'&T%]KGU%W75F+U_HZ_8N>?4B_2U*$J(,2C
M"<&72CDC>=3UO"OQ8DOTIHBG9@ATFT9Y(-,QTCQLLW6WGO\.H'A*I>,Z W/4
M%5(894QB\\SH5&=\(O\NIIN>_X_2_O%@YSC/G.#,8)_WV!*>T)0 \@-4DL=,
MIU8FB<I>O<F*8FM6$\CKY-M8T>7,MN];]SD7P*FX,#AE1DO%;6RE*EC&J(FE
M$:DN9 UB-W,!EF[Y&.^#L9<R6O D)VF2.VSZZ'R7-L)X+FU1<"NX'ZJ87(=9
MQR<#;"TR&F!K]C" ,0WSH;IXD8[:2PJN6Q'5I@?.8Y'F?GRX<ZRLPJ8!AJ0X
M4PM]#P0;6Q'K8I'1E.6%2A<280_60=O9PC(M19K$*9= 15((KC*;*4L+0^,%
M9=.F\\V2U)$"=5B*&YT"LO ]M.-4$Y$K23)MK<R9HDK?++A"LP#== N>T3<
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
M]2<4QJ/V_H*W#C76O=[@+/SM"%'R2RVIWO^F8U"*\-E.>H"6V<ZQAHW.9>K
M.HHSPG.3$)$K!;I2Q[EU5,=9-MF=(9>98+EC29IB2WM>")TSK6B1L%C).)XL
MQZZG<?>B0;]L!0T3" UPB1ZTJD81;=T:&.O_WJBF5ND\)>(? [UM1=VR]YTX
M+(8LL; -J#?JPMU#+D3SS8L.WK=5]J^J) G0JF[0A1MU :/U9=F"BY1M=2ZW
M(YR."H\ 58D?VS#%M=T)]-^+SB0LRRPQCAKGODZ:84%6S.Z.<=-^KE,=-]\6
MMYS4>,-,Q?1!!D ^T&C--"N>6RW[6EQY?S/_UJJ@=JG:\'4YRW6Y\E&&N*X>
MS6UJV-F&K9Z.K9[%W,EW8\99W4JK]+U+'WWPY HVW3[8>8A^H9O*W4WE[IR!
M"K%->*+S+)%2X$P]411<"IM3357BC+TAYLNFW!6S>[YAC^(3/\?I]ZO9?HS*
MA?$^-#-N!T?FWY4C>"?X@?V'NV#ZHAA!9\=SF03W]?(K/&?__3[?/]I/#^#G
M@]T3_O5O^-O1_D^X1^M@]WNR__,KGXP='WS[O3QX__'RZ\\36.]W!C_'A[NG
MI_^\_PB_[\<'[[_$AT?ZY\&WTYDS%K75--<Z)XFQEO!,&2)SZT@NG(R9C&D:
MIZ_>T&UZ7XF@3Y1ALWKJ?EVN? GSYIJ1Z.<+CD1_)C,^;@DW[IB<]IP1Q:Q7
M?':@P5+'9)8J1;7D<<X$HT7&1&)S*8U(TMGI ?>'%1KU/Q+G&)O>M($%R\""
M&3/2 /[9-"DXD31CA*>I(2IW*6$:Q_@F*6AR;!"RS8L5*HY=%XVZ+E>^!(?$
MWF3@K?9)8']A'^__Y3XL\F<-!QY@2L@Z54G.C/S?RJZ>H1[5S>I1+:8> YT?
MV>[9<TL(>E1M.6M"$#>)B:FEH"TI3A3-8R*5S4E, ?T4:9(DW+UZDVW3>5'R
M%1#VS^_*EV"X?IJ=&K*Q8#>MC6YC\K4'9\IV[]=%/)44?J]F'S+ .Z#_#Q7Y
M?P+J;ZP_PC8*[6:%]GE:H:4%RXM<.F)S)@G7UI#"VICH7'&>ZH(Y7Y.P+5;#
M^GL*'OKW1G>ODNY>9]-SF+FY,34W;7E>AMZNB?^OAO8WFGMIS3TCGNLHT\X:
M2ZQE,>$JED3 Z1(JJ!%"Y$DNBU=OA-A>D:9<&]7]W*Y\"6;W;GE1&MLVT55I
M6[=+7-M8VQMK^P&T]LC,^ ?5VS4';+3VTEI[1K@U-UDN,ZV)IC0EG&O0V@:,
M;IED(F>%RX0#K1UOQQM[>Q54W/.[\@:EO7H+?GY7;H[@A5^Y(8 7?N6& %[X
ME5-]S49+Y]]4?3>F_S[2B:."3!RKWL\[/=__Y=>N;?E!"<-B=[1*1KY5E<K'
MPZ](U>NT!OWY7YFR4Q\?%OJ.']@:M,*%87=&_GO:K5=S+D\L45TKOQ/I8+&_
MRM:EO.J]^L]X&Y.R7=\\9_#TU7GWJ8I,_^Y[!WN?WG^-WAV^_?)Y*_IP\'9^
M:YI56?+!X='>Y^CH,#KZG[WH[>'![M[!Y[U=_.GSX1\?=G>.X)=W'PYV#MY^
MV/DC^GP$?]C?.SCZO/(O-J/EU,JO^?67MAR8$JSY7V8QT<S6'2IVEFFI<N$<
M%XH7/*:&4Y,K80M%Y:N;&P,]?K^<4;_':+^<';"A+\K^U8OND7-X].7J8.?8
M&26+G*6D$#0G7*F4"&T5,=S(I*!QE@@VV>?F223^3M0;G %A70VS=2-9'60T
M:!O;C62K%74&_5Y?MM'-$87^3V4;N0WT8 2*M]W#',C%NMM@RZCSKNTAKYI(
MXC=;K<YE[]>::]:F60W/MQ.Q<*.6A6_[8,UJTO2!FM6LTV+SQ6[[0KMR''@G
M.L@"WP#F<*)3W<TO^=SVHRZ9]MM1U4W[G^L"*?^+KY**_K1=_YO7E)L]F]ZS
M3_9,EFUX#__;6[@1^MT'LN5__P-+1N;4B3RO!*;9V_:[!#T*9"3[T:[5UO-A
MW2EV+C4MD)ESMW84JQ>ZF!L ["'?]28#@&FN,^:4XGG"95P(SB7'=MX%S233
M)A174O9P<;]*B!X.$=1!%:E<I.GR>I=<?F#[NZ??#WY^3+]^^Y!\_?;Q$J[G
M^^\_\J\_?S_;?[_W\Y_W'RD\ZVPR!KC_[>OEX?N/R<%NJ]S_9LJ#W1W VR>7
M_^R>?MM___7RZ]'!]W]VO\![_>,P]C<UDYVJHC"))-P5G/"8&X3B"5'<&+"O
M,LD+^NI-DL1;17SGJLNG;<:P:6"S:6!S;PUL;B4N[[UOS8BPG&A:\QP+TQ]-
M2DYE2D@KLBR1BCA>8&4"=40:08F6-L]3:;4SPE<FK'F_F@>MLEWHG<8>\'Q'
M+\X61+[3U#4MZ5Y8IMI,H'K'F7L/@%C'FX>][W9ZO7',ZLH?UI"?MMO9".)E
M!'$Y ZYJD>8BTT0F"?J+N2.%T0!7LS1.\H39W((@_G__GP)T[V^KD;:VR5E]
M2"!V1W&P/"+KW:65X 0JVPB)^Q 24V@-;-=,69:0G.J8<&L<4;G-26:X+I($
MR"-]$4+BMO?89 3=GRMU;;#G6W2JMJSY#P@E9\O;PM#U+7-\O>XX]%TXN &L
MM58_&]_I?>F9@[?38)2;U-A<:D)SF1%>F)A(G@$B+93("^,R*=)7;[)T2\3)
ME)J9:O!U&\'RU%;_\Y0$SP&&SA &&P_A_<F":0^A!)[/34X*6QBL@ ;,R5U*
MBBR)LU1G,DYPI/QV<5]!E%44![>]QP9P/KL*YAMC]^/);G=Q>2XVA6/==<],
M$'J[&=R;J/U::9L9;E#',SAKP8CA6+E;<$D*R2QQ(N&*.B,EI5BEP %Z3L];
MOIV'8^%A-T_I^WA 6;%R%OO2[>$7?/DU%9#SP?GMI.0F6+\>PG$*BB<X&$ )
M00!T,\(EV%S*:$Y2P6/'7:&=\<-E\A<E&>\)4JZL0'BPRI[;]L.^D>N;--^1
M#%]LE,V>9Z/L1Q,(="IHG,9*Z8P1.'5+>!+G1($0()DRW&1I'M,\?O6F&/8Y
MF=DHN[+/)FI>:>JY[&G3:1(0+:8SP'*@:_-I-JN\OU6^!'/]+]OSM6>C ]_[
MG>@"&W[?JPF_,=0?RU /1[K3-LUHA@[^:6._/YA&.IP1.9)QQBS5&>$Q4SCH
M*"4R3Q*PWY51#.SW+$7[G19;H*R>7X;"G<7!^MOB&XO[$2SNFX7=QA"_/RDW
M/>55):8P!2<ZQ3RLU#(B8VF)R7F12<L%XSD:XL4S%'$;<_MIS.VE67Z>%?Y,
MQU4]FC28LL)M;#*KBIC8@@'P43DV&N4I43+F#LQPJC+^ZDV^76RL\,TJ-U;X
MZ,0.#TI\MY>'")Q776 FMGQCDS^:33YRP!OC^Y[+ XYV^DW9^]$./3SZ'A]+
M'2O&J26RD(YPGF:D2 I%3!P+ 3\PZ<RK-UFVE2?\?D-$"[#:BIOF=Y09ZV^X
M+[$!:RHL5]ZL'Y&7&_O]/@7EU82@I&"@9T)28BD*RI1F1$B9D%A2EQO'XU2
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
M+& P4 K30+47=.'Y>0MT&"J_2NXC#!N!O'@/4 ^]^;R[,IOXI<&FM88? M<
M1">0H=?+%W:(?&O867D( [H><?7T:CR]'>W@=G>'6-3O$O[6&71G;N!(!ZQI
MYQ$-Z\/#@&5[H ;/KM9G&O#J@=D2'DJ7LB3)62JT%-RY3!IE"IT@DZ02^,'[
M6&CMH:3S/936=<I?_PSD!208[*O:^&ILK_!G?PR &;R! /;!FG@M']L_<Z0O
M#S\>9P7F""I.$H$M)S(EB#!.DCR+B\PPJM*$O7K#DYMB*,%(NAR2/I)A1903
M5#U%>?AY97G;$9H#D&>,AUL@@(;T=_M(2V:+)#."I1E-.'5.%9ICB"7.@1ZU
MM3Y*1^<'6.Y"A&\'@'77QH/^Z+1X@CT*'=59;!-)8FI=U=F3FISDW,HT%RZC
MC@,M\IO<YMYB\&X #%H$PQ7("O/SO#D5? &E]]O6'O4QA\?G/OP3PGY <(=@
M=7D-W]A/E;WMJ3A0>]T/:0SAC/A'E@H(IKG.F%.*YPF7<2$XEQRCR<"JDFDS
MNY_%ADP?@4R_,Q"9(!-!3%)#J,H9X=2 Z41=3FRA\S26:99@CXE'S![8'/C#
M'KA)5)& QB")SCCA!IN*Q'#J(L]3GFF7ZSB?+9=NBN])[T1NHGQ!]WDP/$LL
MU=5LGT^M[7M!-C.?)7AY9PDDMKUQE5SC*BGFNTJ6")6*5_?@7_&[/KEA\W-1
M5\$FFFU#?SC:VX_8R\U(W=\YV'GO?325E?PYVOWP^>V7SY\_'![X]$6XX(^O
MGS]\C@[?C;AVT/?SX:B^!F3UES^._"6'?^Y]VL$/YOM\5L8@/O)!DCHV8\J>
M'O1ZJ R][ -8?]4K>[7-ZLHV2#=T-J"5X&5'981BS"5<-D1B/1"A+1,I1';2
M9W#!M[X-VD'9-C[JX4U[0TP7[MKR,K7=Z=M>R)H @QPP86N > [N]R=:UQ^V
MH@_P-8R55+&\=\T=ARBQBNT%6QS>Z&/CR?ADSSM=3 _K@6W3:N&__GYY<[]]
MV(=0\M"X47;'-VIG9*.&3W\[MDF?AILTA*M;(^O"'=YIMS%N%-:$D<UWH/,C
M&I/_VYAH6 ]Q':1E34S3_S)VQSK".<-3LYCH+-A:99D<7MCN16DO5Y\/]]JV
M>W(%QPUD!03=UMMPQB<A3-@%A->%1]:(PU@,+&W!OQ>VU3E'PMR*8 4#A[4T
M:/[@K]WO%G/?/>WU !LBB5G_%&*=*W4)7XM:N 3?D?VJ!T0?& _Q!@#5WG;T
MMZT?4M\QW [YY!2^&D*:_:MP'V+/RGX_R)&.L0T=_K&WVX36FP>./@B]D6:@
M@3FJ-\2L3ASC 80[\M@S##=C6!2WHP^[7W]8/VA_?W^8*% E9\G&U=%QSG:]
MFZUL-^&M=@^S4.H;58]W<'G_=-(+LAT=PEW.RL#V&.;J8 X"0D&\/1P<T! Z
M -%M./!W*D%F2HW++N$@O<@[ 6$8C%)_X/51Z*NM>A=\X_RP_M,!'&MT:F4+
MOAF\-ZT61L<Q&M@9P %(<R%]M!$V.43*7>E+]09>OH0UGW1@(\."57!EAALW
M=QL[%;Q3W^K3-I#^28CN5]O3 CF.+N-*$IUU>GV@C[,J)[?R$P?A?XGB&D/#
MWFB!%6[5M+(576"QZ!;LP$79[;21?'%Y9^= O>&MJ_?MA@-"-S6\X+GL!F^!
M)\L>X'$@#^ P/#1<<O,.S2ZH*_CYO 4'@!ZNUJ #>DI[9D':)4 %%NX.U(MJ
M[Q0D@1W?B."$Z%^=A[AP2YZ=>PK%J&;9'U1N+S4H6Z;QWHXRJ^G 'X9W'-L>
M) 6DFK+=[EQXO%ZMJN:H$188I7URTH4SB/H#-6B!'L 7KZG_:)3/:HX:TVOA
MA? [>,MF914;#KD07V3B^0VGC+[&-@BJ")5TE9;B$SG:<$:ZRA5I2?C9Q[%!
M]77E1=EIV3YY&QZ-VUZVG0UXH'Z++W^]G7Z+[6C'>:9!TI%^T15)!O(+4FD
M2X.-.\64'/AOJP42U(:WP:W&.X_LBW=D7I2]2CK4>2<@^$$W6R!\X);A:3H4
MS*B0\5J0,]6FC.T1G/@ >]_#K[/$W/!M5E\=(2P<8ZKJW:ZB4Z CV%S861,9
MX$CIZV%AASH7563E7()8Z%FL]6R%/NR1&?A@"F WD'Z]0'-GYZ"?&G1TCM/:
M(MOMH'#U''XJ+RR(*]L>)E4,TX>:Y<#A:NNY$C8ML%2C)B:.:'C".'@$$Q>R
MK4I. 2UT\&]X=5 8HZD;86WG75!O@[,A/3G@@^^V2QSF92#S56S=K W%)2[Y
M4F+1+*H SS"8 >+]"'!KOSU5=<N%#5064MI Y'DU[T-&@^XX<P)<QZ0;D+^-
MQA[Z(/#J,5[ ;\"".G!FW;IRPA=1^+N4;>_@< X19Z!Y;<<?Z5?<G)A/P[H\
M+4'O 32O!'?M<QV1^'YEE3C;!JS:.R_[MCJ_\#B,.\)S6O9$ZJOAX^I<3EP-
MJ$^+^6>P^=8O;1;Q2/P*T!L6^GF<4]TJ<I6U$41JI=V#Y$"]8)N0B-_]WFGI
MJLPIX$G0Y*6[JK=_;$,GMZRB:QLT6V6\G'DQ--RTVN4-KX*15=1NN'V#=OF_
MX55'(2!*:XL!6B]*JVS!$?9I^P8Y^*H-M9U;Q!XN:+NA^ ,]^Z/TQS/*SUL>
MPWD!U>O9BHJ 9=M1R);K#'S8LF:9-9!8'X:Q*)_1%VBH,^AA>M.@VQL$P@'1
M!)PUT,'Z"D<[(O#AO)3L5T1:G50 3I6BMD,Y,X&1:IH;PDPO#4R)OZ-_US-G
M0^1>8]4P+62<^F_6 '$+U2.\ MS14]5V]!DA#X@D.%! (JTF6:UGK_&>6,MR
MQM??=3/[X<UNUBQ<62O>/>#]!)YQ/EGS5IX_R$*S[?16(]YF^&O15B;)]HR1
M4]AB 6^ 71-ISG][RBT//',N^V'X%HAE+W:O(NRZ,3B'?_I O2AL@:>ZGN91
M-VZ!>/.2#; =+]AOX3:5\#,EJ%VPH_[C7X+T!\&J&@-17EGYG,D&3L&^H:X)
MS'-9H\W@&@J M([M56'M$S2Z0B80L,[X@F8\H <,#/>K5&S9U:#.8<,G;.8Z
M)7TB^W@>&KU$L7_I)YZA6*D0<EAQ DQ>PIG);NNJVF<_& T-36_)!C'=/O7J
M=5+=5BZD#;$_Y&#&51!WD:=2!!"RU>MX<FKB4PTA_6W'<%1E.05@A^Z@$4,'
MB4IAE<%%^/BD0_H=4AE80^V(7!8 :H4(@8U,"4 67L+?L/$Y>71AFXQ]3[HU
MD$+;H6U;/C,*N#%JV_YEI_L]*%]O0MANM^QWNN@QD=HG1P=7#9C^W<HOT@+5
M:#TTKAPY%YTR<("_M/+$ &>68/@B# ^N#Y1,P9K&Y0?@Z@:-83;J4*L1:B-<
MZ@WRMT2DA%UKX.U@>]H];P-[KU(+W0A=A"(@"OP4VFI;@A2IO3]APTZZG4N
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
M[% W<9<5BYELXBX+QEU\V7QM"$2OPX#P7S;!EZ>^QTL+OGSPK;MZ_9H6UYX
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
M,AXF1;RV!I(#258@[=DYN9Q$?>*_@ G4+6V0,R\HS:(FS?;(X]^U3!M-F";
M\ )ZPOP8L?Q,^RI/E55=6BXRA'?O[B(,*B!["D!Z@H:#<9BRDUUJ1TZ1=F3,
M6;?^P*W=PS\^B) 1!F !:NM[*4Y[^&J"Y\AWEKQOB  7P0K%6\]+QRDK4Z@O
M>7[" &HWZJV,O [[C!XX,Q,YQ^70LECJ#0-T>48T$NP18.7"+?( E/@GD+4V
M7ENF*%:"H? KQN>>A_ 3/$@^3J'3F'()5QYA[1%VYGN$-\JY^V*F&"9%*;(Q
MC:!(,@:A3%H:>JD_8B8 >AOC;P13 AZ.I3"#!CZV/ZC(."DT.@W[0(V-G,7%
MZ,L4IL=QX=T>,)#_".DGO(O"!Z*Q7AK#0F..ZH%[30Q0*,S\B_ER)^@C,KQ-
M,4\3>GGQ-;?+#RNP>Q4CNH>1Q!^:72.QP@?*#9(/>W;WQ<X/ZVL[G8\OYU'*
M@\=NU=L("^3</D(?A&P!:$+Q54=#7PRLDV_"2\F%<CD ODLF"Q#T)XD8]T0D
M]8;L=&D /R0=E Q7_M@:"1=NHWCH3U"L1HPYQ[#.,SB.B: SL8YA=O8PD_:1
MD)@$&G.21D+5TYE$XI[$^@4+.Q6]*$6]0>,/OYR)$.KE[%D6(&$,]-E]7-DT
M4:'>>JB' 08^Z(;]G!=:2AZQ0*%/NO:4.GH2G(9PU\*66EWGHS5!N9E"B2E6
M(1Q9\8.?>$,9A^#YD>?V?=CO"!>#)QT_QH# =#=[62 O'.E7D8!<PN8P5$[1
M_)6.:#44V_"(OB44UX8@8PAR,@$'#H 33D8P 0KQ;AIX:+6549Y+URH"M$/'
MFF^328\DEKX_'N,SM!^-4!9)Z=7\IO;@'NP_9EM#9HRQ/B"$^>3:B\@WBBX^
MD-9@/V2Y0\.!2^8_5\M,((/20BC0XQ&_%/ K.3S'::"L 0RZF$0>O!L(1BR1
M '1B?SR!%::3NPB(GAV+4Q#(G<W4L_.38UC7>*+LBFH<"C/ X^#QHQI(8Q$A
M!S (D"/QQNEKV(C@WH_" -&(9- 8Q#(X-"ZEA8(0[D.;Y&B-''5.D -DA*%'
M*<@/+OX$^ABR(5XO&@^B22@9A@&[!^*?:$HM!%O%1[X_'XD$!F;&LL@:7AE&
M9L#0#0(Q4IYNB@L0=[Y']YY2LR6OF;:TDY8";TW2*$YSQ(5/ MB33(&8 &(
MC9)H52/%[(Z-ZD9V0BSM[2#SD-$)Z1&.%+!T#(@.JO8>9;_HM'MZBW(9\%IT
M Y-?Z>";"KN^,W9] EP) CQR0)7?TM&C%'Q(^H9S0M('?$/O.*KC<.*(1"CV
M@BY_)U30,AQL$H9?.1\FBR%601QPYG^"&*0X*[)K0L !LDB<(N"7<1TXW1!6
M/=)!R'T3-088_#*$O]V%83^;K$*4[XPHMSE76\RFE3CFRS$2>X)MRGB8,W&Y
M-:E8,3ZA61I#+X!=>(!/H)K[()VZQ"JF$611J$43Q0EV_9BFQ?F84!W[$Z58
MU)6%^&I*!P ]=H,,4C;0N2/Z TI-L0RN22./W;DH:,)%0B2.2C;<6.J^0B1!
M05,)(S ^CS%?1<ZM=[^U:<=YL-]P-NDX6QT$QEE@'4XB?Y2Q>;**D61!D7<!
M6C]!( "Y KB]"T3.CE62+_*&TB-W@O$,->O\_,C:(01N?,R]0G^S/^ZRA $D
MCEC .L@#2:R<QNC'L42O_ 3D&1O#4[Q-:&$[R SD3'-,MWI.*?L467ZGTJN<
M>B.+%*.-H@D37O&$Z,<%']BFZV,E?K.DZO$6H;:%_SM#H2$0&3:A\C$2"5M<
M(O^>;.^8]DI(9!Z?_LZZDN]=J??T$=)9>"!;N!0.!;)IDDK&PQ)Q"+I3(6X1
MXG*H!B(7<R*,;=KQ=RV[UK2;M5;'L>(AI2A*0PR*&:@()J'WM09OPJL3N-J0
MM:$ZY4:12W:],",0&&J_6P,=SQC*',9"<1B#-5%\B55.%UKXJ2"QC58E_I26
M"'/"I(4SI1,=$:.<&G@/UCH'#FRGL?+\=KW9R&:O6Q<FRNNHW06GQ+$BTYF*
M611F6<J0^/W**.,4(9@W)^+Y'0O/M"\^*%4?L',(5^,>L+(QR-/JC[W([Y-X
M0U8^E([AY+JF<XQ.RK7&/*JT+7T*W8@LE<K\R-?J-/*\Z[1--]N@Y!IH2DW<
M()+1[>V.R+4G*9#"R0.L5Z"N%C3/)(^D9KB!,F4V$3_)DN]SL)BIP3*)$ZKU
M'JT;EUQ_)R/84!0&O@=SG@5>27'O=2(9L-]+.%Z-8'B,LQ@6"0JPY,LP?Y^2
MB^)!J!N8Y;41\<VIJS74@L-^C6-*X4S$-PI(5V$YT[R@:6#7(E>LX=]5ADO-
MOXAAP>> ED.QQX;,-WWFQ^Q',HFH9DA34Q3N3%%X#K8D\"WE'!1Y/W63QTBW
M ]>/I&F9(HJD-4 EN4OB+T",;N,@6]1"="#; 7M'T.7.6&IPJ2E\C@U1DE"[
MK]PO/GG( QG'17(%+BS/2TNQ/XKMZONQE\:4F]<+[W'C!>!XTVAZ%I1&T7PL
MR#2&*O%/"4)XE\&)8UJELG'/NQK,D!)&R-@,^\LC96=-I#2?E,#,>8B8NXJ?
M@(B%_/)[2&)O+X2CN9$A'%O-$62,+&E?F>%X)*0PH *[B$R.L#Q'%+J@GF1>
M[U^B,)U("X2A7,X&ARF=LI99FJDHD@L<( 4)^M[U1Q0&DE!L[KMVKB2,_H9B
MI8#J,<Y<I;_AWRF/<H:UV9EA@77,C%7TPBBBR()8QK1Q4/%,3)LA+^-T9AQ
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
M.U$IDT_#V"Q="D-010\JUZ,-J!S#I>UU&5M? <O+5.XV*HYRK1"Z,J0IA_=
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
ML$_!.(R3[,+V8]5(R*<[0E9E C5@Z$\4<XZQ4'Q?Y6939W5>IDH'52D[\P:
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
MMO@ UB7=%W-^8!#_8-8=^N/4"!KQ X9D^EZ)]>XL"/6J+8KSFHH#._2\$#0
MM%C(%W8++.NO2T"8:ZR=9Z:88UM9Q?!"ROYW-;QLC(W%F6]C>=\+^X_PGV$R
M'OW]_P%02P,$%     @ +$2K5B7LIHYF$@  6M   !$   !E9F]I+3(P,C,P
M,S,Q+GAS9.U=7W/;.))_GT_!T\MEJTZV9<49QS7.EBS;.6_9L4I2-KM/4Q )
M2KA0A!8@;>L^_35 4J1$D0 IR<$M-0\9BT1W _UK-M"-?W_\]6WN62^8<4+]
MZU;GY*QE8=^F#O&GUZWOX_OV9>NO7W[[[8__:+?_<3-\M&ZI'<ZQ'UA]AE&
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
M43MQ[FFH&"L7%#;AP\VN9ZH_U*K*Y=T&6O*L4&[/\!Q]^>W_ %!+ P04
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
M6-![-LTWK&*ZH$HIE$8E;1U0E!.)G 22,5\<,Z$PWGKE]VN8&LYY%*V.#H4
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
M-C90T;VUL5O(=X"4G5M5.%> 8I;<)_(_30I$:T$6JT?O@>O,O4>#MK0V!>Z
M. 5M[R;9 5[O#?&J*W"":Q=09S!2VMKC!<%A[> A47@MH]#8NK[U7D"G0(%V
M$A\@/X<\V(OSB[.:-_MZ\1%G=>$S_%B/QL]X&9FZ FIU(:.7*["R)O6+*,$G
MSD#YDCF=@$HUOY#I#.XD:#*()@;(K7F+"UHKYI=A-AE//LRO4+%4N)*"@PNY
M5NT7^I-+'*3,5BNEBDZMMX[U2$Z!# UD/$"2R_+*[CW]\M+RY0SI/XI,W64G
M54]G6#!6@Q-.TZ:F7"FB]89P&\ )1 >V%^@0J9H/7>+.-]WB?EW&)-=DK-_#
M.5Z]!%W6-% P88CU'"86L0--^E[4[TO'0T2YAUA;2#+D2/NWU:[0CDL';DC*
M0-V%(\LN1U>>+&\?")P<.6W[J'9?<9;$%4:RX2!A#!63(TS&@K5""I&"<<:<
M9)SE\!KN$J;IHYZ&89KY;#%Z?ND<D"_PLA1,B\O4D=?E69XN$ZB6[UB*]#:E
MK$&;0O@X3V0I&@_&"FZB<:A3[D(?>N MZM#?OM*F*Y9';)T-(NZ&CE@7?%=O
M0!>$?<RO'8EQ""-J&&WVH,H.JFAX[/1 &F+D)= ^&7F6A#33MHFTU:F4E; R
M&!8ZV3Q'3)8-ELNQ<*6/!O;,D<ODQYOF]]>!"6EYLCR""'0Z*AD07*(-FT63
MM35DW/%.P9]=#YYUX/9GS REX3[GTL[J.:Y^&6'^\9>SZ1_MAE.L__0]]L)8
MOZ*5SA>"%VNE9+$8KJR*T7IN?;(F\%R4$!TZ7]P\IWF?"\&XMIHVO^"RJ,9T
M)"N8>!5R"F1M(^V)S9-"F_>Y^!T7541O9M//8Y+[SU_^/J_%7Z_)U PUH>]9
MHI>,:(#S9W&^F(6T&,6,/%M'QJ.K?2F]M. 0 _"$K+ <,C.MLT;[HSR*G,H^
M#%F3$3VD8@:X/?\VAUL(*94B@\!FMO01:8]/:($)1IN^($RV]82! ^?+#ZVQ
M>U/F^XA[D.OT6[4@M9!CDL9G^ W$]].^TE'.,,L%@RCKZQ,EO3XJ,; ^9U6D
MCD*UWF"'6,?),_'@RF]X"U3-I]'?2,@5]2\DV>M2^[=(EDE5V_OPY_,9YO%B
M%%*6128!/GM+)JMS]*?"@-N@+8I"5@I_R#CK\;S]\^CPBIT.JY4!=L(7^&F&
M:1PNZ^9-*:%NR*:(.@1H&7GEM#4'%)@YU\RUKCFY_?PGS)B=U;&WF^618MI(
MH3(PI\@KS<Q#5,5 =IH;55) V;P-QEHDW^G20D6#C.ZAU=>(W9H!=2.I6::3
MVD%"C5<AE(B<4!H1@Y#1Z=;Y)_?A^4ZB=NH:('?IU\EG$M1T]N4?L_$"7TS_
MF(PT^0TZ,UW'#M&NB'4T&3FHD((QR1J,@K7.<;Z+XCMM=E5-P[X[2W/K;OGW
M;5[_(]0[Z;KVD9"N",W)X$I&DL&E WC#ZFTSF5Q"*I2K_5XWF,%=G_B$N3*<
M9@9HC//L?#I;C/][>82^+K55SXOQ?+D-OIGA^?CB?.1R*<4(#X%+V@RC4A"]
M2I"M99XYQG5[#_\A4$^87<,H;H!F-'??@!M17)45W,C!\A@R&?X@R%(CFY]G
M<)'DH$-PF:>2VY=L=4?WG6M#J7* ?C!WD=X=$CW*W*L01(+"=1W7QB,XSA*(
MC(K%9"-/K</>77 =0_>8-GI]D#X[*F6 D-!=C->F7CVDLS"%:9G ,%W(#9 9
M/,\>BD)-NVB*F%O[;_<">D)4V58- \2&[H)[@9^F\_%B603U;#['ZCNBT-$+
MK!KUM9DYAR!" LNR4((['7GKF]<NN)X08W94R@"QH77. 'X*X_SB*G'WY9\U
MCE73@F^CMK[HDA2"$UR#<DA.0A 1/&:6G2#;SK5N9; =TB=$KN:*&R1^M.F\
M?1.^+ ];)V*)P6D0)EE01FMR$KP'70]AET0TKG4!Y(.@GA")=E'' *V;UP*<
M76!^-0YQ?+;T(T8AD76&VH$,2!)(2!A]G;*)CLL@#0NQ=;E'%UQ/BS6[*&6
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
M=Z]<#I"X!OJZ?%W$Z^77$2<3/=F<(,=,R&7F$&VQ((M'2>:ZI)]UHM N*$Z
M0'M3PAKZ[!Q0_0>=G_BZE&M*D\5>Y7,5[*NQGI&S+&9K(Y#3+NL<)A(,#Q8<
MFB*]ST[FUH->'D;UN'DSD/37$*1QNZNK='SNM.5"@@FUM#G3QN>-UU##@4SD
MB%K809VCH^A#T\X3ZB_58^E#LV9*.RU?813$4%.]>D7.G&=!D8!T,4P'R7CS
MN5!W4!Q5\4H?O=[+D][R';QMXJV1SUUP#530N@G386I9=]79O1384>#[)$36
M,1CE0ITH8>O\*PN^WA,%JZUR1/K AKVF'YH(#]2L[HL'?>0\R%"6.]E.UR-;
MA4 IT8"W9+#4#B@0E4>HIJUF,5ENNM5 W/>40QN"VRKBSE26%E)L7=KR&WW4
MQZJ/Y0#"*E;,MZ"9$%FN9;)&,E53AQVX$B091%IGJ72^,Q)Y@X+O?\XIJ+BA
M)%N_PW>(]^:"L)+O^NP#_: *X+HN1_N27*VO$J8FH2ZO;4,&X[Q(C!>.JY?H
M&]3=]8FGH/A!I-NZ1*9N0'S3!F243*6$ EQQ0X>6*N L3R %L[78/B?9K;+B
MOJ><@JJ;2;%AKDR=X[',OUA&QA-.PFP\7=HBB04BE=; C(]TKC!-?&,66++.
MR:2E<KZ+>?; /)2U#W_L[ED;J39\BY> KG#\?3+_A&E<QGA=C= %5!_7["&5
M;P*R7W^LD9*F0TFX\;BCS>""=BEB+0!*M7M&[63M2@J@L1C4V4>CF[SI^U7[
M!N]KGUKO(]B!M/W+=(8IS*^-B!)H&=82CE!'/7FR)**M$P"5=)Y<3YV;#+E:
M__3]G>$-U;)&T3O(=)]SKWZ=T!_Q??ASIX*K-9_2K,KJ(82KI56YD(BS=-E&
ME2+S%H./3#&5Z$3V<;3F\W:+7;TFVR$LQI,/KZ;S^3(?J4QG?X19GG\-\Z/6
M1B2L-W2.['*, GQ2&83)0;+L"V.==L\>8:P.L%HET),PG\WGN)AO?N9(68V"
M=D@(DCLRB%/MK4:6+":?@TV();6_[ND,;_^>0VO6;$JX;ZV;]IW*.N-\4^N(
M2">?Z:6M5O>S0B[2LT^?SL;TA'H;7GY]^_P=+AN\22=>C<_'B^4/YJ/:XD?(
MJ %-">07.P[.H"?.*!&$(1_9EX<VN?W!/1TV'JF*![C!N.?U2D%D48>2L6!-
M3<]@X)$CJ"(2>>W<Q+R_S?]TN-58\@,6F'4@_DV^X<L_/XUGX7)X4"Q2,)/
M2[_,#;#@A"CD=;B8C5$LR?;IX[L@/CUN[5&# ]2V;09[&;4*K,C(8B!YU-([
MP4W=,@O$VNE#!BW*:O+>@!O37M-Q#K<G]9?\L:3IW#A.SRX6'Z<U9?ZRNZ(Q
M$1E9BUJ%>N^@(T1&CG*.UAM79,Z\]>FV'LFAXL%-=3UM+O,!;)V[J*Y[H7;
M-5#ZSB9,ATG?::&W!ZFP@]#W20II4Y:ZCN@MQH.*G(PP7[N$916XE98QEQ\U
M&1Y(X=DG%_K(>H@T+D(U7XS3\UH9,_MR%?MT6D8;-0=34TY4*0E<1 XE$C[/
MO3:J>3>%=4#V;YZVT=.J3;JSD =HN+.\+7DVR:_H-\_^XV(VGN?QTDN_@J=<
M"LMJ?4:+I057>*Z0.9P-*S50*P<HEKX7THFPH:7@-^X( UP\+,N[/T[/Z#'S
ME_]U0<+XFMTT&W^F1;TY"VEIP>YR,['-8YI=7>R\QI6[C:QX-.@+O<Q!>:L=
M<L55T!Z]11/]:)L'[OC>UW+\GP,Y(<^GYY_H1 R7[]"LEM+6Y_S\Y>NOO E?
MEEFLU3C^ZF?Q&(UC*( GKLDUKC7;*C&0B8CJF5!1MNX[MSOJG??+<(:ORU)?
MU^6 EYT-+CL>_#JY/44ZE!2"- S(&R4)16GK<!IR**SQGB=O0V2M)=0#W_YW
MTCVS[LZ>.Y3RACB8OV*E+2#5ZL(EUE$Q-N8B)2"*",IH.G1J_QR?HJ$-I60E
M!B35-UB>,H&V5\K>.N.M'ATCALH&84-ELP2EZGTA6ED;=_O".6>86T\A[(;L
MR1%I (4-< _R+GW$?+&D_$/BFF^2U_4,IY(*2QYT#"0KE!D\)]$YR72A_W.8
M6O=G; 9^7['M0^]M!U'VL03)WUW$^3B/P^S+K3U^&>_QA149E($LO -E"Z>%
M8 $K&-=6^9!\Z\N6C6 .%2H_$#=6&=I$1P,<O[?MRG!.?[P[L; +PH$B[ ^C
M.TRLO9$Z[['Q&^KB,*Q)''6N*1!1:45OBX_@1$A@&4LUYE2$;GYL'H@M#P3C
M#T:6/BIH79RW,0AT7356DK#6<Q"YNJB*_N2B42!9(C-1:2/S2@3FP1+,M0\Z
M@'G>6#'KJS%WE^H^4[[O!@E_P3B[H%=BW6*:QEZ[/&C Z&OO=:[$7YG,5@IO
M8PA62:F<+8$GSYDR3,L@UL1?NSSRX!%8CX3?&2*I(2-?24_&E%0:(O%5<HR.
MR^;'PV.+P*)#I10P9VM<)AOPO@0P7+C(0V!9-3?>3ST"VX=U.T9@NRMOGQ'8
MZ%.4UB+(4GT8G2W$F@: R NW+N:D6O<V.:D(;",";:^4PT5@#3JI,2;0UAA0
MWM4 38FU)-RYPDT0K/4@HQ..P.Y"I $4=M016*<E63J:@6'H07'K(?J\K'EW
M+%ERDDKS:Z,G&('=:6\[B+(?000VF.Q*K1!*M7L&4[0:DB.8S)A"SJQ7S7.0
M3C<"VXL;W2.P/71TH AL!X3?([#;J'.+".P6NC@,:[1+W"$JD$;66=<F@F?<
M@LV^3DT6SN*0#N3CB, .2Y8^*F@=@;TO#'2=J"FM=SERL %K$;8K$ SY(2BD
M3"Y@;0W?*0C[\+..,@[;2SW3X61[V%#L?X3)]5K>A0E]G\RCM)A-)^,T'S0T
MN\V#!PS5[BR'E=!M<5B,,5@*2A5I:^%.*)&-"JF68:4UH=MM(!P\E"NU-D;G
M!(P<!5!1.XC"93!)"!;I+>*Y>4SI<85R;=':.BE "/JB=';@72G@@BI6!H^!
M?P_E#LBZG4*Y?92WSU NE^2N8Y0@BB0!),X@)L$@":NCU449UKI?_4F%<AL1
M:'NE#.$5?)S.%N]Q=O[S=#:;_C&>?)B/DM!D?0@#(L1<.^THB"8A_95[SZ/(
MNK2.VZZ!\?0HLJ,J!HC(=HP;<R-\2-9#2+7?H$*$$!,M/=0.=-EXB:W#K2<<
MZ-^%0P,H;("6'^WB>]H%'8L60.Y8G1ED \0Z"Y%QX3UQ!E-N/>WZ*0;Z=]K6
M#J+LXP_TDS$8C/-TTO/,08DZZ<K%6NX@G6$RD@?X/= _##<Z!_K[Z.@P(=LN
M"+\'^K=19__8[3:Z.-#UD$=T 25$\C'(0ZWSR+U*X++(B7%#[FMS"_^Q!?H'
M)DL?%;0.]/<)&EX%I[,2*DBI06/P=3@C0BP"H8B,P@LM[6I_G V!__[//LJ+
M@%[JF^Y/]D/$DZ[]TCI3XCW]H\O.0"+2:^ X%&G(,RV67(C,#%A;6,+BD\3!
M@@2W@3QQTV5GW0R1Q[4*ZKH'6 =80]DJZR$=R$#976D/T6 'B0\99%R!)X4L
MT24!4IK:=- :"**V'ZSCH!)#S59'NS\N(CQD>^R-!WT$/8#^?YZ-\P=\-0W7
M_9XDK<(J6EZ4,8%B*8%'X0!5]MX4,JU$Z\-C%<,A0H,-E#-M*-FC22*X95[-
M_Q@O/OZ&X_]S,?G;>!+^UP4=HD.E$'1\['X2"+:1P4KZ #+AK70"+?/*!AD-
MM[R6@V7-;([N_O2!C@ .GCQ0:#$N*0XZZ (JVP(.0X:<1(DF(_>A]8R.1Y8\
MP(W*HKA(KBI]4='$&MAW4%PVW$EFF6S=[/CDDP?ZL&ZGY($^RMMG\D"REIG@
M&+!4:B9UL! =9@C&,#IP$CF_K1ODGE3R0",";:^4P]6!\<+(Q2 3%@-R0ADY
M+=TH^F)#B+*VJ/]^/;P7(@V@L*.N ^..C.BB H0@0RUHTQ"+CF02:QYS",J;
M[YVX#KRW'439QW\];)!6X1CMY38J4*H@>++G(7%IBBO(!KBB.=WKX5[<Z'P]
MW$='A[GHZX+P^_7P-NKL?^.WC2X.PQJE#%=:&I"Z6%"6.PCH<]6Q<AB#<\W#
M<X_N>GA@LO11P8#7P[>#0O^X&Q2Z"CHB!LZ]LF"DJA/$ZI009Q4((8I'01LM
M6\G">_ARN-.3C_)JN)?J-EP-MY?[@8.]%Q.L[_RPU6$//&3(0&Z?]:V$;476
M%G60/N>B=&#>EA2#="GZDLD56Q>V?>!Q!P_2,HV2!\;JH)<$RK@ +OL"VB:K
MT 3)1//ZI<<5I#4D#\,P F.R9O9' RZ9 +IPVC9BSE$V#V.?>I"V#^MV"M+V
M4=X^@[2A2&DJ$&?J*$]N.#A=%)B@C70$. [9 >[Q!VD;$6A[I0Q@[S\_"_/Y
MZ_*/4 6Q>#U[._[P<7%#<4P7,](+SI^'LS/,/W^Y^KWYU2]60Q==5@K)G*DC
MX)S7Y$238>.+"9B9EK9Y%Z\=(3\YZNU3Q0/$>]?"?_DGSM)XCLMWZ>:'-YCY
M" 5Z9E@!7H0#1?8N1"0'#'/URV+16;>>[[$5T.]L;*[.AB5I2\?K2@;S7Z:S
M&U/ZV0?Z0O(['\]KI(!>DL1+3$:#4)R!RI*<+<L%!(9:(18Z]+NU/NGRM"=#
MFF'D?Y<@J@E!WN(9N5MY.3Z=1(05\5O\,)XO<(;YQ7B&:?&Z%)R-)Q^>34B2
M$]I[9_0O[URQ21DCF0,&6#82E&8(,6JR)5D.DN<D N_6S;PYM*=)O<-H]BY/
M=:N-[/D9A@KV%\3YR$GCS;)+E1>$Q*&'$'TF.S1:XU3R3)J^>]?M!SQ-SNPB
MY;N:-SMG8US!NG)"KN_WGT_G9.(AN:N))P$EZSHXPFEP,=<;VYB+3HJA;#W>
M^#X\3X8PS95SESAVMRWC5DK(^X_X-2NDGKW3R>6%QR1?&VR_(VV#WZ)76<NB
M60)1R:Z<=>!DO0Y1@3NO6"BJ6VG8SE">#*L.H+F[O',[\>[E?#$^KT?N^IRD
M:]0C2;NF1)3 35*@HB"+KV#MB^]3%,Y'7,T[W,"NC@]\6AP:0@MWF>*/)R,L
MIRA9C (4IMKB7#F(117R-47PV0<;;/,TUB>8$;93(/4@RC[^C+ HT:K,$UA%
M@E4^YMI1+D&6II#A4"\/FR<SGFY&6"]N=,X(ZZ.CP^3V=$'X/2-L&W7V3_+9
M1A>'88UCR% @AYK;5.?/<8@Y>^"R^!(M8YP/6/WQ.#+"!B9+'Q4TSPC;D&]R
ME8<D6#&)#&Y )7P=!A(AD#]+?D1.129=K.*=;/3[GW.4V5Z]U#(=1J8#I!BL
MO<19TMR6(LBRBY"5K$-?1(! MAW(9)0Q*F!HWD5V(YBG;8:TT=&^+G2OWI<N
MT :R/^Z!=1C#HY$"N]!B!^GO*R?ENHL:X3#1>\BQ#D*4L99J2 6:SE!1I-2N
MJ,=.C =LC/WSHH_06QL7;V;XRT7-A[V.-EV=@%9%K7W&.F2%3E8=?&TZRH$+
M+5V,B6''@<\;'K!_<Z*9!J:-Q3>  7&%Y@J,E]89:PJ@JY%F)1P9,H6P116\
MDBI%WKI/[S< 'K^N=Y?KQO=V+Q4 +S M(9.>^*!5 %T>-& E0.]UKE0#>'HU
MDW#62Z^4-]PYFWS.K"@NDQ?K9L!T>>3!*P)*<C94[T@414S-HH"3.H/T$:76
MR<K\Q-NV2.6\,(8.<ZUJYP]+GF1A"DP*.L<8N';?9[X,R+J=*@+Z*&^OX[NE
M944S#3K5YI*&*PA%"K!,YA24].[[^.X]$&A[I1QA18 70J88R>A0->2E4PUY
M:0Z,:2>L%W7XT?>*@(-2;Y\J/IJ*@%1"+$AO%"Z'_?ILP8<<04<?%&?1Z]CZ
M 'TZ%0'-V=A4G0>I"& N:4T^%QA'[X<JD0!FZ\ 8--FE0.Z7>\A_.>V*@&U(
M,XS\C[\BH(A@"A-D,J(D"S+0%^>*K?4P/!NKLED=_/Z](F!(ZAU&L_NJ""@V
M>ADU TZ;:2WYPUI-PR"Q+#0KR9;54=]/H"*@Q7:UM93W71&@I<7LLP#N; T2
M2PU!(2.2:D__]=FPYET93ZTB8!>CJ)ERCJ\B0 A-WH*.P%G00/YL (?T185@
MF1&)#NWO%0%#;$-[U5SKBH"U7L(UULN8VTA;JTRI#;>\DZ!0*Q*-T."3]S$;
M78?C=&)6AX<]+>ZTEG[#*H!>E0K1H2C(!63$.D]9!8B"1;#&%V]3**YTNS4^
MY7J1K5DRA!;61#AWCX<W2] J1BGK)0?R)RT1OP[ZTO17;7U@]+W"3/-;F2=8
M,+)3G/T@RC[^@A$,)@N3+2#7=)AG;2#8DD 592,RS%HV'Z]TN@4CO;C1N6"D
MCXX.D_K?!>'W@I%MU-F_!F ;71QH+G&QB5P)22=^'2$0!1D F@GZ:TFL>'J7
M3.LL\4=7,#(P6?JHH'5.YWTI25>I:\$QJ^APAQ(LK9D\"W#*6I!"%<-06;<:
M?]I@J#_\K*,L'.FEGNEPLMUK\0A+7FF3!$1C'2B1&(00!&"VK)!W*=KWA3WA
MXI%=3)(V.MIS\4@7:-^+1WHIL$>1P#;2WW/QB Y99Y85&%,SJ^D%@)A3A%PX
M!F:+X]BZ3O7Q%(\,Q8L^0M]7\8C1)@?I$;B0^G)FNHL\ FH4]#?K>>DVDN!1
M%(_TTD"7XI$^XAN\>$0BJL23A(BF%E8+"SZA 1^BDR5+,J.P\4M]Q,4CV^AZ
M=[D>MGB$:%IP-L.\_%'3<I'U'SU@@4B'M:R4A&BE574(I."HE&8Q.OJ"2B.W
MWAN_IB1D_4,.7@3B9 Z1W!90=!2!XLI"*+I UI6*)4K:=4ZN"&3]5<F[BT@O
MTGA2+U->32<?K@>#CU3)6:?,0*J:U2:\ &^P@)(E*<6X9Z9UH4P_A(_RQJL/
M\[I-S6RBP '.SA>XC F,/^,OXS]KF4K-5YLOWA+.$:]W*3YID+H.%Y;:@\\\
M0(Y>.2Y<R;HUM^Z!\^2(U$HUK8WHWW&QDCKR?#KY3(<)":<FC]0_+\;Q#"N_
MWT^_/5Q&3#FKF6;@A<#+26A!*;(5?6;<&*ZC[Y:3L1.,)T.F/6ML@ A/Q?3K
M9+Z879PO,[IOP'Y=P[(H@(\$2D4.1P&)M9>V"@5BHOTT%LLT%JL4;UV]UAG<
MDR'<L&IK6+EQ(Z?K?$K,+RYJ+NX;VG>G^;)X\W?\8_DCDD70C'DEH 1IR,<5
M&2*S 6(PRMJ(G*%O;8QV0O;DF#6 PAK6>W1"N6'[_5IJ-T*-Y%+S!$[)1 <\
M>?!.%]J#$4,626EKFF=C[(3X.PV'4W##,H^O7LKM,_X2]+.+Q<?I;/S?F$>Y
MI.!E\< 8LZ","N!M="!$%IR[@J[Y//'[$3TY>C54T "U(K=2Q-^$V>O9NT5U
M;/\SG%U\K5OG0:JHBP2C-*U>JV7=.OW5<EZ$%#FQUD,D.L!Z<D1JK:KF!20X
M2[3B\*%&26@+)9I_R_V79^,/=?-\/_W/*;F^R@?R=U,"(VKO#')V:>/D#C2J
MJ$1@(B;=R8'L^> G0YS!M=*P%*1]EH2R22KK%$2;ZZ1V9L %[D%KY0O](!K7
M>E#@4\S@WLGR.HBRCR6#NT:/%U?1X_?T;Y:7]04+S]8G2,:03#G)-&I? (V7
M!C/+Z%O;:^MP//XDJ5Z,F#;6S #I+ZN8KJZ%NZ :*#5J/:+#9$7MKK$'*+"#
MN/='!BZ\CSI[\*:VEK99@B\I0A2"::%S*:IU;?<^2?! !M2^.-!'RD/DP7T;
MY;]*ZE"UU4349*<EJ^DLKNDA*=">5[)WBH?,_E][U]K;5FZTO_>_#,#[Y<L+
M!-VFV*+8761W6_23,22'B5%'6EA*T/WW[U"V$T>1[',L'NG(-A 8MJ3HS.4A
M.<.Y]1_7O8N0XQO7/;3TG:=UJ(BGZ/77W+UVR-VD>K13<;EHY^ &YR$G)Y+-
MH$5I:>6R0B@>P1/5&CUF+;I;NP\1]+(-B'ZZFB .MT73W4"+ 41-9$CL).A$
M)5[]%+><2NH3G"F[B2N2/!.7H,J6."Q$8>)X_VM=;%3@#;9NCSX_)R@\5K]U
M9"2,$?8$"/CV3NCVQ!-2\&Z7F)Q4-=/$%E0*@5E5$;/24A?9.W:UBX[CVQ0=
M5/1@%. )\IVB7NOKA?)=:G#RPOH6@JB2C::8^?2K3)J*"='SBV*[&5W/F_[G
MH^W#)#M%Z>[=;G:;8GZO&K5H';TK@#+E-HXH ]I"D$IPN8J0!7;/S=U'S*O1
M>+B.)DBLN4_/747Z (JFK<B[1\V)3<7#U+6[X.I064]7?W>?,JFSDR(KD-$Z
M,*54B,:W[O<BL']= UM"9ZK]H=;AU,H?(^)I+YMV6C 8DZXY\2&)J%OR2P34
MT@$)9TNV/J<IKYWF82P>JK7]ET\'BWROT7B4\JU_X.(37O_)&A0W+]SUS>U:
MR?7H4R8LZAK'X59]ES(2-1OZU@9M&!ZA>@HQD(_9AHRTH[[KT>>=O-0+=4E:
M!@*=V6 VF#U;S1@@^U1,+)FMYN[3RD]>ZC5J9 P*U%ZTR0HH6B&GX?6;24.6
M7JB8I1.RN\']W.?]C$'=0?-^QBCOF/-^C&A7!IZ ]P]UZZRV2=3M>J&8E"JY
M[LON.<W[Z02@IRMEAO-^JC=6:[9:JBH!C$RM7$C*%OYB?MBU-;'W[=]+G/=S
M"/2.J>+9S/M!MIZ##P@:VQV+*@E2#0Z"<($754K4?:CHRYGWTQV-7=79>][/
M@.[7WV[IH41#5BG0OD9V[&J%)/B'M$E8DU/$[<K$IS<B?YFGZO1ZZ3T3:$@+
M]2*R+[5(4"JU-"3K@0FN$'7K<EP]QC"L+]%S;6 _)51&2;_W))ZAK=.5J,I2
MJ8#!M'RE+-A89"QGQG$4@4W&[02>%]C _LDHF4(+$U1C/5E$/RT7/__1/GMS
M+?2U7GMU=_Z6BZ1%3;8Q4T3E/1*9-R\DZ)!4EHD/V_X%$1/R\V( /#MP="P<
MZQ^!Y<6+L>K*/HRLK0=NAN0]VY0NYY*]E'E[PMEKV<^Q@7P29<^E[&=_8W"3
MC&E-^ !)M,@.28CLGH,14I<:(SK?._OF&0]N&(6-P8,;QNCH-"WXAU#X.KCA
M*>H<WXO_*;HX#6JJ<]67XD&4D%M"JX'4>D-)';6LG@RF[EUQSFUPP\1@&:."
MWJW@[@66FWEXN?[4",.K'Q>?:<7_[S;WP+IL49,'&_CH-U%EP(29C0#%+K0N
ML4@_R$D=]KQ9#G 8I:;EM#+N&&+<D/@07<('RQP74%)@RUBND!J96)QC4:#*
M?MC@CA>C\%[2G'"Q;_7_9J!)0ZE KBF"D9X@R!#!1ZDQ5!?BP.OMO8]X7AKN
M(\F.D;5MJK[-$KJE39DH<\T&R ;#IQ=*"#8(P!!3*(9<S3A6R[L>]&QU?;!4
M]\:QCI*7]_.G]6J-B\*TWZ&VB7+]@8Z3L7? \R?,Y>LEE:TL/Q>24Q2<5)2,
MKAZU06SS."BG$KW?D>5W "6GS_]ST69=!"3B(XTM8X2(,8!PV,84*(PV]?8C
M3I;_-S@ E<@FU3H#2F/;8*[,!SWZ5C]>4[8ZH;8O>W[U&-B,#O^-D?XQD_9J
MKEXGEZ%&8\'8:B#Z*B!3%+EJCW5[6,UKTMZAH.FJE&,E[3V:0T/&5R63!*;>
M@0G9 9(,@#XKQ99-L*YW:.\%I40= +/IU3E!6EZ_._@B=44AV+=%J<$X:P"3
M(M!*>2D3>1.[[W O,1AWR$9X$F7//QCGH_&V2 $NAI:\C05"C@Z*SZV_H;.V
M/W2?;S!N%#8&!^/&Z.@T894A%+X&XYZBSO'QE:?HXC2HR2DD7:4%85O3.A\R
MH-'(ZZ9*J=M;JGLBP+D%XR8&RQ@53'@_O_.F,1B394H6K-^8ATXQZ\:#33ZY
M&J23."P2<X[WMZ,4,^;^=HQ4>\?=!H8&J1(Y$2H(D?D4K5E!S(C\9ZW([!M6
M\%F&7_LKZ F!US'2/=J2_V4S.HY^N<*\L;/N:$V98F$/T9>8F\5/$&6V;/;7
MZITNO A&!^*'//@90J*[O/=ZY$<)[FQ>^<Y2[QJ_>?@1$X9H1O"V%84A/A>(
M,6&B4<;IG"0I*AJM4360=3NB, \_[,!^BRSXY9]$O]+UY\M,>[RKJ\T77;;1
M0^\H+]\OVL"8F^%$?UVNUJNO%P#.D"-7).1-@8OU$H+@DS%$I3<7W+E[U_C.
M+!QJ5=\^B<IN0O[VO_9KZ\]EM/>\3>AV76):L5A044.UE# *YX+MG>8VC+(3
M=+T[(0:W#?()M#=!(&>0Q'Y:;JP**IO;C]5ORS5>W7^_2>VGY?H_M/XJSPM?
MC6^]@4 8"FQZ: \Q^,AG3$*CE%5>]1YX.1DS+QO)\\#(%"V"IV+L1@5OE]>W
M+[7/R0NVMK/T:-B4R]C:MQL(F#1;Y%K6)#09U_L*Y+@<OBZ3F:)ITH!:'QW<
M%KC8K&.K;2&LJI5@E5;5'%C^$E/FW\IV&E_'X%I'1HX5:)L3_D^/B+E$X'Y<
ML,-'7_II_O.6SYLNZUY%*FA!.LW\6%Z[L3@/ROB@"DDK=.\&] ^0<_HHW,FP
MLIQ&9Q.8*7M(NQNW,("XB<)Q#Q)VFDA<-S4.@\<!.C@Z4)SUGE"P?VE:'XA*
M$C!4 \+Y38M.6;0Y?X \$GP[#3[&B'Z2CL>K]<^U!:+N2CD,E< FHX=B0@%#
M7D.*@I@^:5.(.E77>ZK:=T0<WUOHJ*3O&AP?(N$)[G7>T8KX"S^\690?Z#-=
M+?_8S'VYN72Z)3';H).V'AP[VF"T9>I2)K"42F2RE>H^ WL 6<\)%KVU,$7J
M!EWQ6^__WB(6>,6$OBD?6>*K]34+X3/=TGJ':NEL06,5M-8J8(P3D(QVX)-*
MIGC!SF?O?6,4@<\)/--IYK31O+N^5:O?UY=7S8[O&LC;^^T3QO"&<;05OA,R
M)A>#$<*20<%G0O0&O78U53XR=A51[7W.R4NDC$8? [+GE9KI1)@@B#8[#*.J
M$:NUV+NO[@Q:I#^5@IO.5:N_WQ3T+&[\V']3RY2G\N8S+_?WM'GS!U;V6[R\
M_A=>?:(+5+FJ0!:R*YE/BH2 ,CJ@+)5) DM_H^W(+)YE+<48['?K?W8$"$U1
M-O94=K]P\&:U^O3QAO=O2DXNE,X&HU/@7"ZMV9N&V)KO:A_)Z$ :J7>X<3IN
M7M?!:8 QA7W=R$Z/<Y:&<?8'95[@O]'U1\G&)<KLJ@7?9C:8*#(;EUD#.6;)
M.4MD>E_H3,?-RX3\Z8$Q16BPYV)^=[GZ[]MKHA\7:[JFU?H=GV<7CE+5ECTJ
ME5NOJEBI]3U.('0-4I((9CYM7X<R]3(7P&Q@,L&,R<Z'VLT*_]?R"IOWM_YS
MPV*QLE@;>)6KUEFKS>5,R1'_T$%IC"+J[CWNIF?K=2V<&"H=YPE,RN(/EY\O
M"RW*AL%*L15>*L HV\ $W8J'I6]]SX5(IA3C9WTJ[&+J=26<%"8=)R?T+T#.
MZ%4*,H"7NK:QK!92)0)!J*/3BMF9+EGJY70B. C-)U'V7/*@;LCG#V_"Z[JZ
MF+26D#S>YI8E:P6@MZ)4+:+J7M#Q#0&GSW4Z*@:VRQ&>K(NI+D6>)(BO;"S*
M+U>X:"6UM[&V(3Q-U9=@ GY.DS]U $S&'N3'TO&YX%=)"HH,@J;@P1A1(&*2
MH),NP5H*&H_>9G VN'TDK6OFL!VCVBGK7%I$^29R=-?2=W,_$@138MFVB3E"
M("F!(K'%XQ*2[WV%O)>8&;HZD^MZ7PG)08K:&[@[2GK'.UJMKR^;U[5Y[W=^
MTJIKAL=##Y@PR6,P7UMY'C;&8G5V-I5L2I5)!&52D2+Q'D5&[\CS>.A1IT_U
M<"$;Y@&\=]CRU3S$$AB.J/E?5=7XWEF#9YSJL7].V;V.R.^65U=OE]?M\Q>Q
M8 Q61"C)\?:1;>2SJT3(4<J:@DK13A+4.P9S,]SA^^+]"./M.L!F3HD=@QB]
MF?Y]X90206L"J]M\B: *)*<-V%"EL^2<\+.)=8S@ZXQ6Q;2P/.KB>0*F3N%(
M[N/Q>];6'^CZMP^XV)D9=L'\N)0E ;M Q"Z1T8#26*A&>2HB(,;9I$>-Y.UU
M_71>/U-B:T[I)J/VB6R+P92@*JR\3]0,J::-:R?8.J!<U6QR;Y]\]LQI__K2
M*.'1I-;[Z\741+Y5[WEJ55>JRM;3C"VVZ#%EYP.%V9@(TXC@C';#$]O8,X#@
M65D4P\5Q$8K(RN;&>71M4IB&Z*P 9ZP*Z*I'T;W1^ SX/J.U-P?PSW ACT+N
M6:W>L94B.L3LI0C@BI)@G"N CFU0Y[)74K-=NCT:<\9+^/F6(;VH=3PEAN?D
MF/3<T)K[I:NLD*EE?;:Z8"R\OVD,27C+=I>;S?"ZR8[B.>GN32F;S02O?KA<
MM6RL3]>T>I-:67=>7T1AA9*>C> 839N4["!H5IS-.F4?10YT/MON@ZR>T28[
M=T>E'Z2FV@6?4N=TR]S]R:'?KOIWU-3.K_]UN=BP^@FO6@&4:LU7-)J*$$31
M8"P:B,$B$+\JJA:8]"3^QW'9/*,5=$P(]ZJS.Q+^IO BNF6<"DO:8B$(-5@P
M2!52R8$WO8R:!5]]_V#_2TPQ/^18.8FRYYEB[K(V/AH!N@@V^%L/TV1# E.D
MDH&<1M6[ NB9I9B/PL"#*>9C='$N*;I#>'I-,1^58CX*)L?(U7V*CL\%OR%$
MF6I$R.39CO+D(01=(%57J^+7F,<7B]M1*>:S@^T8U4X UUTIJ^]^_?TV>]D6
M+:O+"91JO>J-%Q#1"DBB!DI)9T&]P[(/$C1#SVERG7_?FK*3PHZ9;L["^WBY
MWLB+7;+F=['[18M\28?DF _XUFZ)Y6,YV,XF=ZP:8X,OE(SPF&RVJ$C6ULP"
MO;\8\/T''DQ?6EU^<5^4\4[I6H"4Y\T0V]1N31D4>\$L:+)>=<]9_HZ*0W>P
M7SY=YP^\^'Y.5Y?O-ZOS(A!):TL&63;3$P6[\2QUD#(&X5T.H;OW^ST5)]BK
M#M/P]DYSH& GR%;^YW+QOEW4W%'V=<V\^;C\M%A?1%)&:Z5 ,VO,KE&0)$5(
M*E*0FM"4WHI_C*:SAT%7H4]A<-^Q>^,(8PE.25G B=RZI80,B?U?4*&0D*YD
MH;IW-/V&@J-=7_55\P%B//6=TNIZ_97\7S,M\/IRN;'VDZRY"$]01.3]RHL*
M,2L+6,DC%N-3#D/ P$^X!P3^ZRL(]C[\9'=*!RARV5.@'=?ZAJ!;.GY?K/Z@
M?%DOJ=R:TT.(&G.[\YBV]Q%RW&N93DI:3B7AHZD_.&LU&L:UJ>Q-D:V02$5@
M8SOR.]&Z84'#>:E]SZW&,;4^1K 3:?OM\IHRKNY&7_,Y)F1Q$IQN%0M4!83H
M(V]KSABV/MGK'91E,5#5WS[]>)9<1[7L4/0!,AU[97#[<OO1PK3_]Y?_!U!+
M P04    "  L1*M6#&X00839  !2!PD %0   &5F;VDM,C R,S S,S%?;&%B
M+GAM;-R]Z7+D.)8N^+^? E/W1T>:"9E<0!(HZ^YKRECJ1M_(E":D[+PU:6-N
M6$/L=+FK2?>(4#_] %Q\D;O3 3I(L:;+.C)"(H%S/A ?#H"S_,O__/XX!U]E
M4>;+Q;_^)?PQ^ N0"[X4^>++O_[EM_L/$/_E?_[;/_W3O_Q?$/Z?GS]_ N^6
M?/TH%ROPMI!T)07XEJ\>P.]"EG\"52P?P>_+XL_\*X7PWZJ7WBZ?GHO\R\,*
M1$$4O_QM\5<A0R;2&$.E6 91)A.("8I@K'\:2:9P'-.K+W\-LA3'))(0JU1
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
MVH^#WAH=C(=45=LX+__\62[XPR,M_FQJW0J:BE#)""J4<(A8B"%+4 QEAL-
M)(F*,Z<LT^<ZG!K[[,D+C,!@(W'/XL)G,;<C'Y](#LP\EX'H3#JVR'ABG+/=
MC4HWMLJ_Y!KK]_H139W=XO=<R(\+O:%];(JI;_PTWW_7LWE!YZV/YJ=-.B="
M4(0E#2 B2$"D0FW]!"*"F-$X#D(L@M@I%*6W)%.CICTOYE;J'0?F3WWS:_4?
M*SOF&F4$!J8T'^ [$]O%P'EBO/YRC$J%%\/UDB,O;[#GV=WQ9!/7G!=K.F].
M%\M9(&2J,LEA%&(,D0@H9"K4.T:!.",I20-.VA*7EL=T5AU;3<O]@I4#4^/'
M!?@SU]N;4JY6\^HXM@2/5!C_CL(<_9@*ST_=!0TO&0C+,S9_X+YR1A_0R'P%
MWLG&$4!/C_:>QV,%-C?(?)V1V74Z[F&8$Q 'IUYN;X]\EV]VN:OGCXMR551.
M+>6-GJ[%_0-M? S*7Y=55FLI7MR<_,UH87SO/M"\^ \Z7\L915)ARBD,8\V&
M*)6QMAL##,. 1"+,L(IE,JN90(-2K :^X_>HF@LOO%1P.(K8N=8"= 68_)(O
MJL)H2]40+GCSV]T[\_<Z#FBLPL$^/RJB_X_).(8TC4*()--++$I#J%0D Y4(
M3&/:?%3O%[8K[004<_^D6O5&^Z"D7M3___0I#>QA\DH?Q_1]3FI@P XRH()&
M6X9TL?5(V<!SQ!^E@@A4+O(&)%"A- %?E '&_+6]4WRJ](_AKS+ ('KS8!E"
MMGXFYCO)5N_RDL^7Y;J0V_0%B6 )8BJ!F10((FY\.C/%H I2D01A1"2WBO(Z
MT\_4#@2-F&YKX"D [98E#[ ,O%(8"<%61/#'(-D<SN#@B3U/]3(JH9U1]27'
MG'N\3UAGKGDG9VL])/?+^P>I34#YI#<VAHENE/%,7Y2MKU.2I9%2+(1<: I
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
MJ[,+A0W@<2($QY+ S)2S1QG/(!-QK/_(. LC%05QUL?=QS/L(WH U>XJ@*X
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
M[]V#+E-;P'ZXNW^WRWU8Z^5L^<,<+3MLPU\Y.!:G'N-!'I@Q6T. M@0T.L]
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
MF2A(B420%D*E!<ECQWYA)Z5,DXN:JC6]A5,<@+0]K;@2GN!'%H?(!-B_Z(7
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
M!RMW[X7LAV'H+63?2?C(L?I#@#D.TA_T%*^Y2TT9_K,I =6<DRC).%90*IQ
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
MDI=[O72I**\7)+^^[/^F?G&C-"$R3A D68XAHDRO%R05,"[B-%*4Y)HJ7*C
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
MGW><L Q+%,$@U[6FPIC!'*D?8T)1'*11*"0ROOKN[FMRMOI66K!>5CD3M<!
M2VQQTWH!8(.;;7^P#6V<[R#VL*RN0%\1<XG'N "=Q5VT/PA'NG+N!Z7=M;(9
M.)VWQQ>:&.^2V$R7O;M@PU<&K_:G4^2)MIP926D8Q)$NSDL3B)#$$#,>0\ZC
M6(=AQ)(9U;3H*<?4./E5R*LJT+8:B?D+F!=J]>3U2>RS%G^PFG-[@V3 W>-
M/S"O?W*K,5=I,WP9P+TA&:P,H.O03+L,H.$0#5D&\!2P'LL [C4_U3* IS#H
M40;P9'.NZ6!N5",K,O^XX.+G_XB7F4PC29,,0\)UHH>8YI#*0,(@35E(!4_R
MU#(-S$$/4UMS:B%!(R6HQ 1*3MNT+X= =J\>7N 9>%VP1L8AO<L9[7ND=3EL
M<>1T+F<4.D[C<N[!D4.$C^-XU$YX]?!(FCB?\O-2\4ZY%OP?0E]""G[]+%;D
MN_@O[4+SGJS%!U*L*DK:=6A+1!@R2C(H \8@PCA6!FZ*(!<Q1W'&L(XF5@W1
MI7'2U6EI:#-/=_4<;KJVTH-&?%#)#[0"0&M06P,C19@.]%F9'<)/3.H)4;J'
MN-7C8%50H036"B;0X%2%M]9(70&S#W.0=(,3_1)^=4SL0-K].<)GAQU:;Y&V
M XO9-]GZ1;W*<XI5.;)G)$UY'G $TR3D:I_!)*21^E<>HRQE&2&46E5X]";9
MU/8G>R7&*UJFG?1=;OF;'O-WDZ+<,LS!W[ ;+N"_8C"'7GJ/QK%[&2X[U^&+
MX]@CO[PGS+VGH>\KUR_*5N\)SO-)[7UUX.B0I?'06]FJ_$]1_JL^QM+_FE'*
M! \$A6&<*I(/9 @ICP,8,XY0%&<"IU9Y&CKZFAIMWXC5FA0+L%*RE973"]L5
MWC)M:!?(AHY)?J ;VHMH5TJ@A;MJS[SK'[XLYP5[ ;\W?P]2:<, *E^>.AT]
MC>M6<UGE(Q\8@U?<&*4R=*LP/\$_%83JX_!"E#>;U4K? 4DN$49A!F.1($4J
M(H4D8QC&!$=4)CP6PHI4NKN;&J\T@H+Y5E([*KF KAF;^,-L8$*ICR9:T'9$
M5;Q2"^N/-\Q \40=%SH;E3W,%#\D$,.W7)S>M.M<Y7[./Z@OJ?$GBN(HS-(4
M0QD+#)%@L=H@T1 &<2X"&F<\BLU]+DYV,36N^*QC895< %_IW*^1C6_620@-
M/")Z S,P(52GCHV 0$OHY+EV$AT;A[6^*(WEIW:(EB^?M"[]NUW13KXYH@=:
ME^3[CF>=3]K?U]_HTE$K06Z67,PDD4G(*(4HC$)%9FD :< 2R%,1QC+(\]2L
MP--APU.C,"T;T,(!+9WYG?P>6)>OXETA&'H[9*:]U;W[*56=KMOW&AKMEOV4
M^+N7ZR?_O]L^I JU+5_K?04DEY0)!@5CN3[,4%-._0E9J@P*2C!)L=6)]7[S
M4YMXU_?WMP_W=EN+ \#,MA+N, P\^6K!!KF6/*VSIYW!0>.C[@1.*W9H^9]Y
MRFV6ZG*L:D(\Z>C3!]7$^^43*1:S(&0"9RR"(4:)+EA$(*8,0:'6QC!!68Z$
M45+'[FZF-FNKVK3KMC;M%="2@M]K62WO?,[@:C:I^Z,U\.3>+^)K"I3U1._&
MP=.$/]/)J!._6]%# KCPM&/.)?5M/))2W-%Y\;W>@\5QB@@B*<Q"I$QE70N5
MXDC"A'$<(L4$.#(*;SO?Q=0(8+?0P(]&6L"63T_%NKH)LLQI= RIV?SO!]3
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
MR^=FQNZ8?E+_^OM?VM^H/W14U]__\O]02P,$%     @ +$2K5@T()3QWC
M(74& !4   !E9F]I+3(P,C,P,S,Q7W!R92YX;6S<O=F2FSF2+GC?3Y%3<SNH
MQ+ZT=?<QI:0LDQVEI)&47>?,#<T!."2>8I!JDJ%4]-./@[$S-B[XXT=6F94R
M%(H@?/G@<'<XW/_M?_PXF?WT'9>KZ6+^[W\1?^5_^0GG:9&G\R___I??/__*
M_%_^QW_\R[_\V__%V/_ZY>/;GUXMTND)SM<_O5PBK#'_],=T_?6GOV=<_>.G
MLER<_/3WQ?(?T^_ V']L?NGEXMO9<OKEZ_HGR:7:_M?EOV84,5OE62G1,>W0
M,!^T9(J^*S$6KQ3\/U_^E3OK59#(?+&9:6L4\Y9+9J3FFB>AE/&;#YU-Y__X
MU_I'A!7^1,S-5YN__OM?OJ[7W_[UYY__^../O_Z(R]E?%\LO/TO.U<^7/_V7
MBQ__<>?G_U";GQ8AA)\W_WKUHZOI?3]('RM^_E^_O?V4ON()L.E\M89YJ@NL
MIO^ZVGSS[2+!>B/S)^GZZ<&?J']CES_&ZK>8(-&)O_Y8Y;_\Q[_\]-.Y.):+
M&7[$\E/][^\?W]Q:$N>X_')62*NKZ3S]-2U.?JX_]O/+!8'B WRI1&\^9'WV
M#?_]+ZOIR;?9U?>^+K'\^U^P+*:L:I>K\Z7_[^M?_OF:BF]+7!%P-ER_I6]<
M?$9=[1B*\,<:YQG/^;U<:[9(MWYH5J6]6%[^Y@PBSC;?G62<3C:?_"*NUDM(
MZXE.,23O"&H\&J:%"@Q"<@RL+*5 T-ZEVP*HQ*^(^HUR5IC^^F7Q_6?Z8%*2
ME/6+*AVYD<R=Y<XE=!C=EWOQ,_WL!*S0B>O(. ?:2)"1!4,;)E@G77:B:,F/
M(OOF:K>IOJG9%\OTTV*9<4G&Y'(Y6*8[6KX-Y(N?^/D;+.F#6/HZG>7+WZY6
MI86NUHL&DCM7"Y'[EY^(ZX++)>:WYUIYD+D-9VLRL;CYR18:_W]/84F?.#O[
MB-\6R_7$> TV(6>T"TUE0;&0A6-9!*N2<9#U<9A]8.&=<"#[Q\$Q\NP$$A]P
M.5WDU_/\BH[E24$#@2.RXF-DVI?"(O>9.040N<'@A&P"B%O+[@0'U3\<#I=E
M)V#XO(3Y:EH%?P'HG+B,$0R#!)S\)T%NEI")666RL3)ABMCF=-A:>2=(Z/XA
M<91$1T;%Z_EZNC[[=3K#=Z<G$9<3'J&0>YV)6*^9KBXU^&*8DHD<;:F2X\=9
MA^T5=T*!Z1<%1TFP"^V_H:!N2<#="/T3R1Y?+D[GZ^79RT7&B8C&%0F*(93$
M=%")A20BDSZ!MS$G"=  $(\2L1-&;.\8:2?G+F#S&7Z\R22^:9F>QZL7^$\)
MLD6!+(*73&L'%(^GR%*040D'TNK< # /++\35%SO4&DAVRY \B)G4L'JXC\4
MVZ.@?XU*<Q.9,)Z<)AT#BY%BK&BL4)BMA1P: .2>I7<"A^\=',?*M%-@R$DP
M245E"U.H/=-9<1;(DV;.R<(53[J8X_(4#RZ]$S#"GP\8^\FT)V"\I"_?+S\O
M_IA/>')%&2E)*.1&:2DDHR [LXQ6:(W2&]?");VS\&Z9+/XG0<6! NT)$QN?
MZ?WRPW+Q?3I/.)'H@M;@"='&,NU$88'3X0@Z$N839F%%.V!LK;X;.CI.=#83
M;4\0^;!8K6'V_TV_;7QJ+[D-P06*P2D:UXZ^\EIY1E%X3@%% MWP0+FU]F[P
MZ#C_V4BL(X.C6KT72X3S$,MZG0.A6((EXG6JWK,&E@3Y2]Z7Q(\,96^NMAL
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
MU)REB%8I"DRL:A[WW4M)-[@Y2L\/7)T<(?0.H'.>3DMI>4I+WQ'4!&PP7HI
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
MP6>M4_/ZH'O(&-<Q&A@N!TJ[ \"\6\P7M[FX'+EZ*:"B()D2@:)'\ABUS,A
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
M_,DP-ZBB_GFS_Y]KR//LN?^+53O)_-\G@^'S_H5GIXKEC$>D4,!'SR HSZP
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
M-N#R.K.8D;:%0&_ \6CSGR??U+P+3LTK3[S22AO(#+@@E\/G^C3$2&:R4%D
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
MX!FW8+//#KUP%IL_F9QNVGJ(^(>GK8?(8NJT]6/>S76YN;3>Y<C!!JQ%F*Y
M,!8!A21W.6"=9;!3YOKI;W6?O!XDVL5X?.[!*!T>A7DT3#M#C#35_Y ^@Y=*
MDS)&(SE6G6S^UO8C?]WB9CVN['M ^["T)SI42@%SMF:CL@'O2P##A8L\!);5
MF)?QL\]?#\+.8?GKW079%TCOID>C3U%:NDMDJ6]5.EN(M2L6D1=N7<Q)M1Z7
M_VSSUXW M[^ .@#:CBE0@TYJC FT->1G>U>SK"76W6K.%6Z"8*V7??Q-\M>'
M@' $X9U:N?5_AOFU,_XNS.G??SG'=+%<S&=I-6HV>Y\/CYK=/I@3XV2[,4=G
M$T-P20A0P2%X+F+=S!:5B4PFT=IR])KMUB[H6+0 BCCK;"T;(-8IJ8P+[XD(
M3+GU#H#GF>T>@JGQLMU#Q-G!3;\]B194"<9Y!HEG#DK4<6\NUO=-Z0R34:KX
M(]L])CAVSG8/D50/D'LZ#><]H@LH(>IHR5VNX^^]2N"RR(EQHZUK?3V<;K9[
MD/B'9[N'R&+J;/<0;V>3E<U*J""E!HW!U]&6=:.'0"@BH_!"2WM_UM:6[/?P
M;W>?#1\D^L7QY-"#$?NX6%Z\Q^6G.BOU/?V/K@:3B4@JYS@4:3*H0@%_R,R
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
M2#R20]%^P/:(])Q\R?-!\7PO0#FU:M77EQ>KBS#/L_F':R-1A7OQ$8]3QWK
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
M?D%Y=Q&6%UUHR]V7G7\L%ZO5F6.!%R\28.&NAC4> LL1$F<JV)"*T;8S?7F
MC!-]K.A78PZ%RC.X6T@,!6<7EW4G]X8/9RX'$=$XL#[8N@!10P@2@8<8=8R!
M0IMNTD;;R3C1MXI^M>50J S7%G^E+7/\$*Z>2CI1FN]OVN M>L,D8-8D%R_(
M22;Z24(8.994(N]-9?9SR/I[G^A780Z#R8$.V2_SW(6N_.NJ+6V>;UX\%_6?
MON>-HPNVT!4+3EH)RF4&KB0/V3HMG4-I0F\^VJZT3=POW$\\/PH8GH$7MBF>
MJ66E&P:@3R0+,A*LU$699*C 64N^:%W[8#6)KO2F#=\1,7$/;S^P/TR\SP#?
MMS=MWBVUO%,V5B_NLKFX)9);J0."B'4A220S$*3.4)+5@?/LN$^=*<!P*J=U
MN3K2D)$!\O=1H3-IR*VUMD 6JA8J9X3 (H.4G$"4I03;\2/(8Z0]FX3Q* B?
M1B$'P>UT4LQ;.W]VZ1ZXRR"775!>2TC*:!)B*> 0%<B@<]1,&^.:#P8X'GG/
M)B7=A4Y.!+M3N!V?8LT#R<E'^<.#=J5H!2F(N@E;.O"EKH5U15E7O.:I^7ZC
M(]/X;!+@)Z&;8P+P%!2TD3\1,,H@%0=>C =E,($SQ" */[C1S FKCGY='M%]
M/87T>A?J. '<_C8)^4<YID5QC'0(I(KU?3P9<#%;8,+ES"-G,?867QY&\;3M
M!AWE:(X(G&=PX=W*^3[*%L\-"D%\"-Y:DFB=*F_)%FDTG"?&,L/>\IP[DC9M
MAT%'BC,&%)Z!AKS(>3US-)S_/%NE\\6J^LXW O,)I72"@XFID']L*8!ED@/J
MI)FQLFC3VP/8HP3MI WV;Z -[<3>BP[$IYD1!_NI;[%.RJ)_?[F8KUES&<YK
ML[@XLS*S* N'K'S=_)L2>$L<"ZD$+;Q&5^08FG%<,D\[V]\0Y*VF$!P)<<]
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
M'X\:/^2<ZS!^44FYX1I<,:B[357?8TKMAJ8+Q_ E&1TN22"'DL\;M14BOY6
M[FQ6/S2+-<;+M2X&SF<-&!'.,L4&V'?9JLAQ\^S8828/D3$N#85B$LNYJXF_
M+:CW;40%Z(&KE %DB#-C67;H<))J?B:,@%H#)CT"/[2P'Y&3Z#Q>K#+9FT_8
M.#8]3I@:)0:'OP($SB,#D)^NVENO2LFO*[&+P8&^)21=H_6WA.3OHE>-^9:C
M\#6F95OE.#VOU]&3+[EZ4#0(D+/M''+BB-D=:C=7JQ?I?%86IOZJ=D*)25=1
M-Y\]LQ&C$EYQ^I]+M=;#3LJ_[O>O/W;[],Z3MY]$K]_O_G+=:;^]_"0^MGN_
MX$M+KCZ)?N^G=P/1&XCW[4_B7?N7KAA<!_#-.;^_XU9<70_P'2GX2I3N[0"^
M$C]_Z'\2@WZO?2DNKOOT)I3V^<\?SGN=-KTEY?J"1C[OW=Y\&'3I^1^NSF$F
M<''O"E_(<F7>IT(O7(%/V_W>;>_J)W']8<#O5NG=5J\/H0NN\(GMJ]LVW[CR
M4I>WGQX++MBULX[:V5 7U>EL'8JR;+I+L-GJ+I_S5Y\YQX?6:@]77WS0<@F_
M%67R6)APU\XAZF 8 +"8S#:=[5KB/5, K;ZHL"P,_@1K4L4.0F_F57XAQ_YK
M _# P],<ST1/B(J_[>%=,J+/N%"#;[(%SGRN1&WT!FSLXB/FS M;U>N&XT,[
M>,"!WZ9)4Y]IU5"!0(-A6(0.H,!8*(*9'"WD2(849S15M%X.ALVZBF'%69KH
ML'Z!%S&A3M"G9C'>E"O7EHEM$7F]N;4^3W<.B3M$CZ+8M&7V32ZQ5J5+.=E:
MD6H,P@>89C-1A@-Q:Y?M<+P=W2RI,*FA/YL8M0;8(6VBSJHYY]6\5B;]2-36
MKAUAU :J@ANXR$U(7ERH39]BU&.<K&Q]F=>G CZ?\2TQC?1;Z3+>? P9?6X<
M8E&=IK.F0*E^;*4K\,>/%V(^22G/B V@1KE-TQRT:0K$6N5VPNSJ3G+*FH=8
M9G$OW$2!+6IQ1<V<4*J*CUB'-495P(K:3XT(4\J_>K,!P8?ES1LI\QC,3";P
M3&8]KJX:FJ#<RD379)ACF,;8Q15^^.[TQ6M8D?%"O(ZDJ S=X3PS[%>!/SA_
M(U&!4="8 PP@U3K"0]P,T,'AP%?Q)FH""S;I1.M>7I.1, SXKQ;KV30:\<(4
MUIU1TK_,"I=SFMFZ#R;OROBT<:-,WP''ES3)(5BYD42ZS&)%!\(\E@*DUJZ=
M 7*5BK[BLVJVI+'WWH-+$Z7)D)H(>V)#6B/*!/%I$%D>@%1E('XI_CJE/G/\
M128 6O WH^FP\X[^]GN0[A2Q*"58N2:4CRFE1L!ZJQ(%\EV!5NV4M]JT>*R5
MQP3-\Z6C,69QNE F4<65MN8$C5J9;<-)K::CM/%-1URF"C=-);5VX]S\KJA:
MZ<I]75$V,-*4Y].V6C->F"S9*NE<B=8B<&51N.X9O<]'>04UIBSLCVZLV<4T
M6]WB*N8D5X)*C[$TLK5K!X7<8@VO>=_GA@$48Z;F<XJI6,CSOJ@&*Q%W.HUK
MY]L#S@JJ@V0KQ$/E[N;@$!E.M#*)P90"&^C\++L<J8,O8)M!+Q0XBQE&.\D-
ML2J@=C)L0_3D*P?//A8'8M?.X>B"-<FVY!6!R[&/H.$]@8V6ILK +?=H^^\_
MLM6O>8FU3RI">^]NX0YW(%!,=M9DV[W.8/O&Q^6T>[!4%&*3>#D5XH:%L4J:
MAJ#Z35H+6(>9%TFT58;8+U_FN5^K2_+5:'6KT(J7-'#I!%,GP\X8[W+5$>T=
M?V8%_;YIH=7,JJ'-!.SOP4,[=$Q)KFG66<56SJH#8B!*/M22T\(*AAG+ZR E
M:!;R:*SKKO56M[$M;PM:"9J#J^[EN=8Z\KDBY0S\1;P..#]-@)^'BU7-L"1&
M6,CF9\I7K*%YI.ET,X(#HH$#TZ&;'(XU1WNRAR_'$F4=HQK36F4.UB*E)2S0
M( %;I?!8K.FN-=C<UGM(VEQZM%4L[Y#@4+,9H  /OW"QS%S8QCLU=3F\S5%A
MHV'I152-G3,K3ZZ\5!SQ6S6'.\?U6S7'[Z)7SIY:7.L[\'MYD)&]RF&/E5-S
M7KBMLO)[C;TSQ:U9R"ME7'7<2-3H6<2JV6^V0(AGFDA0CZ<E:.*< B"@MV,3
MWJ;;#GRD0Y60YED-+4Q^O,E;HP%4_LE0#&&M@3(=68^O[''72NT[<"]P)/)$
MUQ:W4I2!2R [MLKNK7$PMN)-X0=8@6P@?=47[X('#1&YYK,"E/?&*':TFD.%
M#WPYC5<=W%"(:?L:25;L5*HW,E1U&6N,XDJ),^8.K)5,\,  <ZX4%CYSWQ9W
MO[ODO)<NKJD-__5X%. A+X@[X195H:7U,>_-?9ET#/8$3LCYLNY@G?JUZLLF
MHE<CT24\UCU/=B_EH/33(]$FQ[M61(V/P;WIXND5FTZBT&1T=0(WSVG% R<E
M0&),913W>$>/A:MVK03OBGHQ-FQQ/K"*K<Q-+9;D#K7$]*[?R,Y]))BK >N!
M9_U1^H5*\;WN<4SWN)BU;1FNJ3<&AOSZUZ7D6NWL>G?1:B+'=5(9>MI.9M,O
M].BK_HYWK>KO@@\[14>]Y$[<+7C!)L=\F-FBM-;'CUT9W"Y!S!HA"/"^Q\ 5
ME?EAB,@<Y(HQ:.NW Y QL7(>W> 6'[94]S,LJ"+@@0A55I \%NS75-%G&L"+
MQN<>L.#EH)^#_6AI N!M8054:.]HCU!F6&1GO!FL!#*Q;H1Y^(:;G%, *^UX
MJY%Q=^"F)W5?.^?UC\K@7QT[H!'/\-VI.GP $_WPW:O6ZSX!:7.R$(8.##FI
M+@G('ZL1H,U8)I_A\I/7WV(Q[O46ZV,Q.%L=_?N)?G8,RN1(OG@U.GYY^D+*
MEZ?'H^?/3H='PY?1\-5P])_3)[L1O]D6L]&C/HZK[NVM^(BM&-<7[(APNHI#
M,'1*C?.S5LMP_7>V\FO?EMXSO%Z\9UBREXSW42C.CD]._P8ZW-]P0T<&_?[I
M-O#%9E?9O-O=JV[_IT_BXKKSX380O:O.']B9'5GJVT7]'>K;!7[6034J%<WI
M)R#?/%8+\5X6Q?K+_YR?V[^=5W*J:K*Y&_OY;0^]/1Q@K?8N2F6G>_U7[]Z#
M=W5+E7"S5;WL8NMHLTW=TH4TL^[MH-_M#KK]7WJ7EUW1:=_T!NW+0%Q>=KX9
MT V):F4H?TXGB7A_("[T2'W3LCXU G&3*3P]MRHN_/O]S*]X3N;G,(T6\,^D
MF,8__C]02P$"% ,4    "  L1*M6NW!4X0$X   ?9 $ '@
M@ $     83(P,C,P,S,Q97AH,3 Q,'AE9F]I;6%R8V@N:'1M4$L! A0#%
M  @ +$2K5OR9M^\+.   ,60! !X              ( !/3@  &$R,#(S,#,S
M,65X:#$P.7AE9F]I;6%R8V@R+FAT;5!+ 0(4 Q0    ( "Q$JU:YANPA' <
M .P>   ;              "  81P  !A,C R,S S,S%E>&AI8FET,S$Q,3 M
M<2YH=&U02P$"% ,4    "  L1*M61B6/O8$$  !C#   &P
M@ '9=P  83(P,C,P,S,Q97AH:6)I=#,R,3$P+7$N:'1M4$L! A0#%     @
M+$2K5F.TA[UPS $ ( P3 !$              ( !DWP  &5F;VDM,C R,S S
M,S$N:'1M4$L! A0#%     @ +$2K5B7LIHYF$@  6M   !$
M ( !,DD" &5F;VDM,C R,S S,S$N>'-D4$L! A0#%     @ +$2K5OCHEBDU
M%P  4=H  !4              ( !QUL" &5F;VDM,C R,S S,S%?8V%L+GAM
M;%!+ 0(4 Q0    ( "Q$JU8J653Q7EX  $(V!  5              "  2]S
M @!E9F]I+3(P,C,P,S,Q7V1E9BYX;6Q02P$"% ,4    "  L1*M6#&X00839
M  !2!PD %0              @ ' T0( 969O:2TR,#(S,#,S,5]L86(N>&UL
M4$L! A0#%     @ +$2K5@T()3QWC   (74& !4              ( !=ZL#
M &5F;VDM,C R,S S,S%?<')E+GAM;%!+ 0(4 Q0    ( "Q$JU9G-J8FR!L
M (2F   >              "  2$X! !E>&@Q,#$Q<W1R965T97)V:6QE,C R
>,RTP,RYH=&U02P4&      L "P   P  )50$

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